summaryrefslogtreecommitdiff
path: root/obsolete/macros/inrstex/inrsdoc/index.tex
diff options
context:
space:
mode:
Diffstat (limited to 'obsolete/macros/inrstex/inrsdoc/index.tex')
-rw-r--r--obsolete/macros/inrstex/inrsdoc/index.tex43
1 files changed, 43 insertions, 0 deletions
diff --git a/obsolete/macros/inrstex/inrsdoc/index.tex b/obsolete/macros/inrstex/inrsdoc/index.tex
new file mode 100644
index 0000000000..7b705d616a
--- /dev/null
+++ b/obsolete/macros/inrstex/inrsdoc/index.tex
@@ -0,0 +1,43 @@
+
+\catcode`\|=\active %defines | as an active character in the entire document
+{\obeylines \gdef|{\ttverbatim\spaceskip\ttglue\let|=\endgroup}}
+%\def\ttspace{{\tt\hskip\ttglue}}
+
+
+% indexing macros mods of texbook
+
+
+
+% ^ in non math mode are eaten up
+
+\def\specialhat{\ifmmode\def\next{^}\else\let\next=\xref\fi\next}
+\def\xref{\relax}
+\catcode`\^=\active \let ^=\specialhat
+
+\newswitch{silent}
+\chardef\bslash=`\\
+\def\xrefswitch{\ifx\next|\let\next=\vxref % case 1 or 2, |arg| or |\arg|
+ \else\ifx\next\<\let\next=\anglexref % case 3, "\<arg>" means angle brackets
+ \else\let\next=\normalxref \fi\fi \next} % case 0, "{arg}"
+\def\vxref|{\catcode`\\=\active \futurelet\next\vxrefswitch}
+\def\vxrefswitch#1|{\catcode`\\=0
+ \ifx\next\empty\def\xreftype{2}%
+ \def\next{{\tt\bslash\text}}% type 2, |\arg|
+ \else\def\xreftype{1}\def\next{{\tt\text}}\fi % type 1, |arg|
+ \edef\text{#1}\makexref}
+
+{\catcode`\|=0 \catcode`\\=\active |gdef\{@}}
+\def\anglexref\<#1>{\def\xreftype{3}\def\text{#1}%
+ \def\next{\<\text>}\makexref}
+\def\normalxref#1{\def\xreftype{0}\def\text{#1}\let\next=\text\makexref}
+\def\makexref{{\def\space{ }
+ \xdef\writeit{\write\ind@file{!\text!\space\string\indpg\xreftype\space
+ \noexpand\number\pageno.}}\writeit}
+ \ifsilent\ignorespaces\else\next\fi}
+
+
+\outer\def\indexingon{\openlistfile{ind}% file for index reminders
+ \def\xref{\futurelet\next\xrefswitch}}
+
+
+\def\indexingoff{\closelistfile{ind} \def\xref{\relax}}