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.
}
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@
43 \global\eye@height
\textheight
44 % \global\advance\eye@height 8cm
46 \newdimen\eyeins@height
47 \global\eyeins@height
\z@
50 \global\eye@adjust
0cm
53 \dimen\indexbox=
\maxdimen
56 \dimen\gnusbox=
\maxdimen
65 \advance\eye@strutd
\eye@adjust
66 \advance\eye@strutd -
1mm
67 \raisebox{-
\eye@strutd
}[0pt
][0pt
]{\rule{1mm
}{\eye@strutd
}}
73 \def\eye@insbox
#1#2#3{%
76 \advance\eye@dim
\eye@adjust
77 \ifdim \eye@dim <
\eye@height
83 \vrule \@height
1cm \@width
\z@
}
88 \setbox\new@box
\hbox{#1}
89 % \typeout{Vi er i showidx.}
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@
107 \typeout{Discarding index.
}
108 \fi\fi\fi\fi\fi\fi\fi
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
121 \global\eyeins@height
\eye@boxadim
124 \ifdim \ht\eye@boxa >
\z@
126 \ifdim \doinsert >
\z@
127 % \typeout{Vi inserter i indexbox.}
130 \hsize\marginparwidth
131 \hangindent\marginparsep
133 \parfillskip\@flushglue
134 \everypar{}\let\par\@@par
135 \lineskip\normallineskip
136 \baselineskip .8\normalbaselineskip
137 \ifodd\c@page
\raggedleft\else\raggedright\fi
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}
167 % \typeout{Vi er i mkidx 1.}
177 \ifdim \eyeins@height <
\textheight
179 \advance \eye@dim -
\eyeins@height
183 \advance \eye@dim -
3cm
184 \ifdim \eyeins@height >
\eye@dim
188 \ifodd\c@page \@rightidx
\else \@leftidx
\fi
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}
209 \hangindent\marginparsep
211 \parfillskip\@flushglue
212 \everypar{}\let\par\@@par
213 \lineskip\normallineskip
214 \baselineskip .8\normalbaselineskip
215 \ifodd\c@page
\raggedleft\else\raggedright\fi
223 \def\gnusfig#1#2#3{\@bsphack
224 \begingroup\@sanitize
\catcode32=
10\relax\@gnusfig
{#3}\global\gnus@horiz
#1 \global\gnus@vert
#2