summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/hvindex/hvindex.tex
blob: 464956fdf7069f2d2241d438507f467af9ca4bc9 (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
\listfiles
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[osf]{mathpazo}
\usepackage[scaled]{beramono}
\usepackage{babel}
\usepackage{longtable}
\usepackage[makeidx]{hvindex}
\usepackage[colorlinks,linktocpage]{hyperref}
\providecommand\phantomsection{}
\title{\texttt{hvindex}, v. \fileversion\\ simplifying indexing \ldots}
\author{Herbert Voß}
\date{\filedate}
\begin{document}
\maketitle

\tableofcontents

\section{Package options}
With the \Index{option} \ttIndex{makeidx} the also called package is 
loaded and the macro \texttt{\textbackslash{}makeindex}
is executed.

The package should be loaded \emph{after} package \ttIndex{babel}.

\section{Introduction}
The \Index{package} \ttIndex{hvindex} defines some \Index{macros}
as a \Index{macro!replacement} for 
\Index{macros!index@\texttt{\textbackslash index}} 
which makes \Index{live} easier\index{easy}. You have to type every
\Index{word} only \Index{once} to get it into the \Index{index} 
and into the \Index{text}.


\small
\begin{verbatim}
The \Index{package} \ttIndex{hvindex} defines some \Index{macros}
as a \Index{macro!replacement} for 
\Index{macros!index@\texttt{\textbackslash index}} 
which makes \Index{live} easier\index{easy}. You have to type every
\Index{word} only \Index{once} to get it into the \Index{index} 
and into the \Index{text}.
\end{verbatim}
\normalsize


\clearpage
\section{The macros}

\begin{longtable}{@{} l  l l @{}}\\\hline
\emph{code} & \emph{Text} & \emph{index}\\\hline
\endfirsthead
\multicolumn{3}{@{}l}{\ldots\ continued from previous page}\\\hline
\emph{code} & \emph{Text} & \emph{index}\\\hline
\endhead
\hline
\multicolumn{3}{r@{}}{continued on next page \ldots}\\
\hline
\endfoot
\hline
\endlastfoot
\verb+\Index{foo}+                      &$\Rightarrow$ \Index{foo}                   & foo\\
\verb+\Index{foo!bar}+                  &$\Rightarrow$ \Index{foo!bar}               & foo\\
                                        &                                            & \kern1em bar\\
\verb+\Index{foo!bar!baz}+              &$\Rightarrow$ \Index{foo!bar!baz}           & foo\\
                                        &                                            & \kern1em bar\\
                                        &                                            & \kern2em baz\\
\verb+\Index{foo@\textsc{foo}}+         &$\Rightarrow$ \Index{foo@\textsc{foo}}      & \textsc{foo}\\
\verb+\Index{foo!bar@\textsf{baz}}+     &$\Rightarrow$ \Index{foo!bar@\textsf{bar}}  & foo\\
                                        &                                            & \kern1em\textsf{bar}\\
\verb+\Index{foo!bar!baz@\texttt{baz}}+ &$\Rightarrow$ \Index{foo!bar!baz@\texttt{baz}}&foo\\
                                        &                                            & \kern1em bar\\
                                        &                                            & \kern2em \texttt{baz}\\
\verb+\Index{foo@\textsc{foo}!bar}+     &$\Rightarrow$ \Index{foo@\textsc{foo}!bar}  & \textsc{foo}\\
                                        &                                            & \kern1em bar\\
\verb+\Index{foo!bar@\textsc{bar}!baz}+ &$\Rightarrow$ \Index{foo!bar@\textsc{bar}!baz}& foo\\
                                        &                                            & \kern1em\textsc{bar}\\
                                        &                                            & \kern2em baz\\
\verb+\Index{foo@\textsc{foo}}+         &$\Rightarrow$ \Index{foo@\textsc{foo}}      & \textsc{foo}\\ 
\verb+\Index{foo!bar@\textsf{baz}}+     &$\Rightarrow$ \Index{foo!bar@\textsf{bar}}  & foo\\
                                        &                                            & \kern1em\textsf{bar}\\
\verb+\Index{foo!bar!baz@\texttt{baz}}+ &$\Rightarrow$ \Index{foo!bar!baz@\texttt{baz}}& foo\\
                                        &                                            & \kern1em bar\\
                                        &                                            & \kern2em\texttt{baz}\\
\verb+\ttIndex{foo}+                    &$\Rightarrow$ \ttIndex{foo} & \texttt{foo}\\
\verb+\bfIndex{foo}+                    &$\Rightarrow$ \bfIndex{foo} & \textbf{foo}\\
\verb+\sfIndex{foo}+                    &$\Rightarrow$ \sfIndex{foo} & \textsf{foo}\\
\verb+\scIndex{foo}+                    &$\Rightarrow$ \scIndex{foo} & \textsc{foo}\\
\verb+\itIndex{foo}+                    &$\Rightarrow$ \itIndex{foo} & \textit{foo}\\
\verb+\ttIndex{foo!bar}+                &$\Rightarrow$ \ttIndex{foo!bar} & foo\\
                                        &                                            & \kern1em\texttt{bar}\\
\verb+\bfIndex{foo!bar}+                &$\Rightarrow$ \bfIndex{foo!bar} & foo\\
                                        &                                            & \kern1em\textbf{bar}\\
\verb+\sfIndex{foo!bar}+                &$\Rightarrow$ \sfIndex{foo!bar} & foo\\
                                        &                                            & \kern1em\textsf{bar}\\
\verb+\scIndex{foo!bar}+                &$\Rightarrow$ \scIndex{foo!bar} & foo\\
                                        &                                            & \kern1em\textsc{bar}\\
\verb+\itIndex{foo!bar}+                &$\Rightarrow$ \itIndex{foo!bar} & foo\\
                                        &                                            & \kern1em\textit{bar}\\
\clearpage
\verb+\ttIndex{foo!bar!baz}+            &$\Rightarrow$ \ttIndex{foo!bar!baz} & foo\\
                                        &                                            & \kern1em bar\\
                                        &                                            & \kern2em\texttt{baz}\\
\verb+\bfIndex{foo!bar!baz}+            &$\Rightarrow$ \bfIndex{foo!bar!baz} & foo\\
                                        &                                            & \kern1em bar\\
                                        &                                            & \kern2em\textbf{baz}\\
\verb+\sfIndex{foo!bar!baz}+            &$\Rightarrow$ \sfIndex{foo!bar!baz} & foo\\
                                        &                                            & \kern1em bar\\
                                        &                                            & \kern2em\textsf{baz}\\
\verb+\scIndex{foo!bar!baz}+            &$\Rightarrow$ \scIndex{foo!bar!baz} & foo\\
                                        &                                            & \kern1em bar\\
                                        &                                            & \kern2em\textsc{baz}\\
\verb+\itIndex{foo!bar!baz}+            &$\Rightarrow$ \itIndex{foo!bar!baz} & foo\\
                                        &                                            & \kern1em bar\\
                                        &                                            & \kern2em\textit{baz}\\\hline
\verb+\sIndex{foo|bar}+                 &$\Rightarrow$ \sIndex{foo|bar}    & foo, see bar \\
\verb+\saIndex{baz|bar}+                &$\Rightarrow$ \saIndex{baz|bar}& baz, see also bar\\\hline

\end{longtable}

It is not easy to get the braces into an index, because \verb+\index+ reads its argument \Index{verbatim}.
The package defines the follwong macros:

\verb+\iBraceL+, which writes the \IBraceL{} into the \Index{index}, same for \verb+\iBraceR+ for the right \IBraceR.
With the upper case variant it is writen into the index and also printed into the text,
like this one: \IBraceL\ and \IBraceR\ (\verb|\IBraceL\ and \IBraceR|). The advantage of these macros is, that
the \Index{braces} are sorted correct.
%, the character \Index{"|} must appear between them and it does \ldots
%BTW: with \texttt{hyperref} we have to write \verb+\index{{"|}}+, to get it as a correct \Index{link} into
%the index. \texttt{hvindex} does it for you if you use \verb+\Index{"|}+.
\index{bar}\index{{"|}}

\clearpage
\phantomsection
\addcontentsline{toc}{section}{Index}
\printindex
\end{document}