\listfiles \documentclass[ngerman]{article} \usepackage{fontspec} \usepackage{dejavu-otf} \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}+ & \Index{foo} & foo\\ \verb+\Index{foo!bar}+ & \Index{foo!bar} & foo\\ & & \kern1em bar\\ \verb+\Index{foo!bar!baz}+ & \Index{foo!bar!baz} & foo\\ & & \kern1em bar\\ & & \kern2em baz\\ \verb+\Index{foo@\textsc{foo}}+ & \Index{foo@\textsc{foo}} & \textsc{foo}\\ \verb+\Index{foo!bar@\textsf{baz}}+ & \Index{foo!bar@\textsf{bar}} & foo\\ & & \kern1em\textsf{bar}\\ \verb+\Index{foo!bar!baz@\texttt{baz}}+ & \Index{foo!bar!baz@\texttt{baz}}&foo\\ & & \kern1em bar\\ & & \kern2em \texttt{baz}\\ \verb+\Index{foo@\textsc{foo}!bar}+ & \Index{foo@\textsc{foo}!bar} & \textsc{foo}\\ & & \kern1em bar\\ \verb+\Index{foo!bar@\textsc{bar}!baz}+ & \Index{foo!bar@\textsc{bar}!baz}& foo\\ & & \kern1em\textsc{bar}\\ & & \kern2em baz\\ \verb+\Index{foo@\textsc{foo}}+ & \Index{foo@\textsc{foo}} & \textsc{foo}\\ \verb+\Index{foo!bar@\textsf{baz}}+ & \Index{foo!bar@\textsf{bar}} & foo\\ & & \kern1em\textsf{bar}\\ \verb+\Index{foo!bar!baz@\texttt{baz}}+ & \Index{foo!bar!baz@\texttt{baz}}& foo\\ & & \kern1em bar\\ & & \kern2em\texttt{baz}\\ \verb+\ttIndex{foo}+ & \ttIndex{foo} & \texttt{foo}\\ \verb+\bfIndex{foo}+ & \bfIndex{foo} & \textbf{foo}\\ \verb+\sfIndex{foo}+ & \sfIndex{foo} & \textsf{foo}\\ \verb+\scIndex{foo}+ & \scIndex{foo} & \textsc{foo}\\ \verb+\itIndex{foo}+ & \itIndex{foo} & \textit{foo}\\ \verb+\ttIndex{foo!bar}+ & \ttIndex{foo!bar} & foo\\ & & \kern1em\texttt{bar}\\ \verb+\bfIndex{foo!bar}+ & \bfIndex{foo!bar} & foo\\ & & \kern1em\textbf{bar}\\ \verb+\sfIndex{foo!bar}+ & \sfIndex{foo!bar} & foo\\ & & \kern1em\textsf{bar}\\ \verb+\scIndex{foo!bar}+ & \scIndex{foo!bar} & foo\\ & & \kern1em\textsc{bar}\\ \verb+\itIndex{foo!bar}+ & \itIndex{foo!bar} & foo\\ & & \kern1em\textit{bar}\\ \clearpage \verb+\ttIndex{foo!bar!baz}+ & \ttIndex{foo!bar!baz} & foo\\ & & \kern1em bar\\ & & \kern2em\texttt{baz}\\ \verb+\bfIndex{foo!bar!baz}+ & \bfIndex{foo!bar!baz} & foo\\ & & \kern1em bar\\ & & \kern2em\textbf{baz}\\ \verb+\sfIndex{foo!bar!baz}+ & \sfIndex{foo!bar!baz} & foo\\ & & \kern1em bar\\ & & \kern2em\textsf{baz}\\ \verb+\scIndex{foo!bar!baz}+ & \scIndex{foo!bar!baz} & foo\\ & & \kern1em bar\\ & & \kern2em\textsc{baz}\\ \verb+\itIndex{foo!bar!baz}+ & \itIndex{foo!bar!baz} & foo\\ & & \kern1em bar\\ & & \kern2em\textit{baz}\\\hline \verb+\sIndex{foo|bar}+ & \sIndex{foo|bar} & foo, see bar \\ \verb+\saIndex{baz|bar}+ & \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 \IVert{} (written as \verb|\IVert|) 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}\iVert \clearpage \phantomsection \addcontentsline{toc}{section}{Index} \printindex \end{document}