summaryrefslogtreecommitdiff
path: root/macros/latex/base/idx.tex
blob: 8257396f81f2db7a4990e019bfa704bf8407d3ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
% \iffalse meta-comment
%
% Copyright (C) 1993-2021
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
% This file is part of the LaTeX base system.
% -------------------------------------------
%
% It may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
%    https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
% The list of all files belonging to the LaTeX base distribution is
% given in the file `manifest.txt'. See also `legal.txt' for additional
% information.
%
% The list of derived (unpacked) files belonging to the distribution
% and covered by LPPL is defined by the unpacking scripts (with
% extension .ins) which are part of the distribution.
%
% \fi
% IDX.TEX -- A LaTeX input file for printing .IDX files.
% Copyright (c) 1985, 1994 by Leslie Lamport.
% This file created on 18 February 1994.
% Last changed see below in \typeout.

\documentclass[twocolumn]{article}

\nofiles

\setlength{\oddsidemargin}{0pt}
\setlength{\evensidemargin}{0pt}
\setlength{\textwidth}{470pt}         % Width of text line.
\setlength{\columnsep}{30pt}          % Space between columns

\raggedright



\makeatletter

\def\isanitize{\@makeother\\\@makeother\$\@makeother\&%
\@makeother\#\@makeother\^\@makeother\^^K\@makeother\_\@makeother\^^A%
\@makeother\%\@makeother\~}

\def\indexentry{\par\begingroup \isanitize \idxentry}

\def\idxentry#1#2{\def\foo{#2}\ifx\foo\thispage
    \else \gdef\thispage{#2}
          \vskip 7pt {\large \bf Page #2\par \vskip 2pt}\fi
  \hangindent 20pt \ttfamily #1\par\endgroup}

\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt plus .5pt}

\tolerance=10000          % prevents overfull boxes


%% Add extra stretch and shrink to interword space for typewriter style.
\newsavebox{\foobar}
\savebox{\foobar}{\texttt{x}}
\relax
\expandafter\fontdimen\expandafter3\csname OT1/cmtt/m/n/10\endcsname=3pt
\expandafter\fontdimen\expandafter4\csname OT1/cmtt/m/n/10\endcsname=3pt

\begin{document}

\typeout{}
\typeout{IDX version of 03 May 1995}
\typeout{}
\typeout          {**********************************}
\typeout          {*  Enter idx file's first name.  *}
\typein[\filename]{**********************************}

\twocolumn[\vspace*{20pt} \centering \huge \filename.idx \par
           \vspace*{20pt}]

\dimen0=\columnwidth
\advance\dimen0 by -20pt

\parshape =2  0pt \columnwidth 20pt \dimen0

\input \filename.idx\relax

\end{document}