* mm-view.el (mm-view-pkcs7-decrypt): If mml-smime-use is set to 'epg,
[gnus.git] / texi / pixidx.sty
blob13be2e54d7ce80d6e91e7be7a216528daf0a8c17
1 % SHOWIDX DOCUMENT-STYLE OPTION - released 16 June 1991
2 % for LaTeX version 2.09
3 % Copyright (C) 1985, 1988, 1989, 1991 by Leslie Lamport
4 % Modified by Lars Ingebrigtsen 1993
6 % Prints \index entries in outer margin. For use with book or report
7 % style. Note: makes \flushbottom the default.
9 \typeout{Document style option `showidx' - released 16 June 1991}
10 \typeout{Modified for use in eyesore.}
12 \newbox\eye@boxa
13 \newbox\eye@boxb
14 \newbox\eye@boxc
15 \newbox\eye@boxd
16 \newbox\eye@boxe
17 \newbox\eye@boxf
18 \newbox\eye@boxg
19 \newbox\eye@box
20 \newbox\new@box
22 \global \setbox \eye@boxa \hbox{}
23 \global \setbox \eye@boxb \hbox{}
24 \global \setbox \eye@boxc \hbox{}
25 \global \setbox \eye@boxd \hbox{}
26 \global \setbox \eye@boxe \hbox{}
27 \global \setbox \eye@boxf \hbox{}
28 \global \setbox \eye@boxg \hbox{}
30 \newdimen\eye@boxadim \global\eye@boxadim\z@
31 \newdimen\eye@boxbdim \global\eye@boxbdim\z@
32 \newdimen\eye@boxcdim \global\eye@boxcdim\z@
33 \newdimen\eye@boxddim \global\eye@boxddim\z@
34 \newdimen\eye@boxedim \global\eye@boxedim\z@
35 \newdimen\eye@boxfdim \global\eye@boxfdim\z@
36 \newdimen\eye@boxgdim \global\eye@boxgdim\z@
38 \newdimen\gnus@horiz \global\gnus@horiz\z@
39 \newdimen\gnus@vert \global\gnus@vert\z@
42 \newdimen\eye@height
43 \global\eye@height\textheight
44 % \global\advance\eye@height 8cm
46 \newdimen\eyeins@height
47 \global\eyeins@height\z@
49 \newdimen\eye@adjust
50 \global\eye@adjust 0cm
52 \newinsert\indexbox
53 \dimen\indexbox=\maxdimen
55 \newinsert\gnusbox
56 \dimen\gnusbox=\maxdimen
58 \newdimen\eye@dim
59 \newdimen\new@dim
60 \newdimen\doinsert
62 \newdimen\eye@strutd
63 \def\eye@strut#1{%
64 \eye@strutd#1
65 \advance\eye@strutd\eye@adjust
66 \advance\eye@strutd -1mm
67 \raisebox{-\eye@strutd}[0pt][0pt]{\rule{1mm}{\eye@strutd}}
70 \newdimen\eye@tmpd
71 \newbox\eye@tmpba
72 \newbox\eye@tmpbb
73 \def\eye@insbox#1#2#3{%
74 \eye@dim#2
75 \advance\eye@dim\ht#3
76 \advance\eye@dim\eye@adjust
77 \ifdim \eye@dim < \eye@height
78 \global#2\eye@dim
79 \global\setbox#1
80 \hbox{\unhbox#1
81 % \eye@strut{\ht#3}
82 \unhbox#3
83 \vrule \@height 1cm \@width\z@}
84 \setbox #3 \hbox{}
85 \fi}
87 \def\@showidx#1{
88 \setbox\new@box\hbox{#1}
89 % \typeout{Vi er i showidx.}
90 \new@dim\z@
91 \ifdim \ht\new@box > \z@
92 \eye@insbox\eye@boxa\eye@boxadim\new@box
93 \ifdim \ht\new@box > \z@
94 \eye@insbox\eye@boxb\eye@boxbdim\new@box
95 \ifdim \ht\new@box > \z@
96 \eye@insbox\eye@boxc\eye@boxcdim\new@box
97 \ifdim \ht\new@box > \z@
98 \eye@insbox\eye@boxd\eye@boxddim\new@box
99 \ifdim \ht\new@box > \z@
100 \eye@insbox\eye@boxe\eye@boxedim\new@box
101 \ifdim \ht\new@box > \z@
102 \eye@insbox\eye@boxf\eye@boxfdim\new@box
103 \ifdim \ht\new@box > \z@
104 \eye@insbox\eye@boxg\eye@boxgdim\new@box
105 \ifdim \ht\new@box > \z@
106 \else
107 \typeout{Discarding index.}
108 \fi\fi\fi\fi\fi\fi\fi
111 \doinsert \z@
112 \ifdim \eyeins@height > \z@
113 \eye@dim\eyeins@height
114 \advance\eye@dim\eye@boxadim
115 \ifdim \eye@dim < \eye@height
116 \global\eyeins@height\eye@dim
117 \doinsert 1pt
119 \else
120 \doinsert 1pt
121 \global\eyeins@height\eye@boxadim
124 \ifdim \ht\eye@boxa > \z@
126 \ifdim \doinsert > \z@
127 % \typeout{Vi inserter i indexbox.}
128 \insert\indexbox{
129 \small
130 \hsize\marginparwidth
131 \hangindent\marginparsep
132 \parindent\z@
133 \parfillskip\@flushglue
134 \everypar{}\let\par\@@par
135 \lineskip\normallineskip
136 \baselineskip .8\normalbaselineskip
137 \ifodd\c@page\raggedleft\else\raggedright\fi
138 \leavevmode
139 \relax
140 \unhbox\eye@boxa
141 \relax
143 \global \setbox \eye@boxa \copy\eye@boxb
144 \global \setbox \eye@boxb \copy\eye@boxc
145 \global \setbox \eye@boxc \copy\eye@boxd
146 \global \setbox \eye@boxd \copy\eye@boxe
147 \global \setbox \eye@boxe \copy\eye@boxf
148 \global \setbox \eye@boxf \copy\eye@boxg
149 \global \setbox \eye@boxg \hbox{}
150 \global \eye@boxadim\eye@boxbdim
151 \global \eye@boxbdim\eye@boxcdim
152 \global \eye@boxcdim\eye@boxddim
153 \global \eye@boxddim\eye@boxedim
154 \global \eye@boxedim\eye@boxfdim
155 \global \eye@boxfdim\eye@boxgdim
156 \global \eye@boxgdim\z@
162 \def\@rightidx{\hskip\columnwidth \hskip\marginparsep}
163 \def\@leftidx{\hskip-\marginparsep \hskip-\marginparwidth}
165 \def\@mkidx{
167 % \typeout{Vi er i mkidx 1.}
169 \vbox to \z@{
170 \vskip \gnus@vert
171 \hbox{
172 \hskip \gnus@horiz
173 \box\gnusbox
174 }\vss
176 \vbox to \z@{
177 \ifdim \eyeins@height < \textheight
178 \eye@dim \textheight
179 \advance \eye@dim -\eyeins@height
180 % \vskip \eye@dim
181 \else
182 \eye@dim \eye@height
183 \advance \eye@dim -3cm
184 \ifdim \eyeins@height > \eye@dim
185 % \vskip -3cm
186 \fi\fi
187 \hbox{
188 \ifodd\c@page \@rightidx \else \@leftidx \fi
189 \box\indexbox
190 }\vss
193 \global\eyeins@height\z@
197 \def\raggedbottom{\def\@textbottom{\vskip
198 \z@ plus.0001fil}\let\@texttop\@mkidx}
199 \def\flushbottom{\let\@textbottom\relax \let\@texttop\@mkidx}
201 \def\margindex#1{\@bsphack
202 \begingroup\@sanitize\catcode32=10\relax\@showidx{#1}
203 \endgroup\@esphack}
205 \def\@gnusfig#1{
206 \insert\gnusbox{
207 \small
208 \hsize\textwidth
209 \hangindent\marginparsep
210 \parindent\z@
211 \parfillskip\@flushglue
212 \everypar{}\let\par\@@par
213 \lineskip\normallineskip
214 \baselineskip .8\normalbaselineskip
215 \ifodd\c@page\raggedleft\else\raggedright\fi
216 \leavevmode
217 \relax
219 \relax
223 \def\gnusfig#1#2#3{\@bsphack
224 \begingroup\@sanitize\catcode32=10\relax\@gnusfig{#3}\global\gnus@horiz#1 \global\gnus@vert#2
225 \endgroup\@esphack}
227 \flushbottom
229 \endinput