summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/hvindex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-11-23 01:20:55 +0000
committerKarl Berry <karl@freefriends.org>2009-11-23 01:20:55 +0000
commite56341155ca3f893f0f131de5df4dc537fc8172b (patch)
treeca156b53d038dded1d71bcc3ce52ffc8c12fd205 /Master/texmf-dist/tex/latex/hvindex
parent45214368aeb8eade236ae639a9b853146734638a (diff)
new latex package hvindex (15oct09)
git-svn-id: svn://tug.org/texlive/trunk@16136 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/hvindex')
-rw-r--r--Master/texmf-dist/tex/latex/hvindex/hvindex.sty123
1 files changed, 123 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/hvindex/hvindex.sty b/Master/texmf-dist/tex/latex/hvindex/hvindex.sty
new file mode 100644
index 00000000000..7b39cb999f0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/hvindex/hvindex.sty
@@ -0,0 +1,123 @@
+% $Id: deIndex.sty 737 2009-10-12 08:59:10Z herbert $
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is file `hvindex.sty',
+%%
+%% Herbert Voss <herbert@dante.de>
+%% October 01, 2009
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `hvindex' offers macros for simplifing indexing of words
+%%
+\NeedsTeXFormat{LaTeX2e}
+\def\fileversion{0.03}
+\def\filedate{2009/10/24}
+%
+\ProvidesPackage{hvindex}[\filedate\ \fileversion\ Index macros (hv)]
+\message{`hvindex' v\fileversion, \filedate\space (hv)}
+%
+\newif\ifhv@makeidx\hv@makeidxfalse
+\DeclareOption{makeidx}{\hv@makeidxtrue}
+\ProcessOptions\relax
+
+\ifhv@makeidx
+ \RequirePackage{makeidx}\makeindex
+\fi
+%
+\let\IndexNIL\@nil
+\def\hvIDXfontDefault#1{#1}
+\let\hvIDXfont\hvIDXfontDefault
+%\providecommand*\shorthandoff[1]{}
+%\providecommand*\shorthandon[1]{}
+\newif\ifhvShortHandOff\hvShortHandOfffalse
+%\ifcat"~\shorthandoff{"}\hvShortHandOfftrue\fi
+\def\hvEncap{"|}
+%
+\makeatother
+\def\Index#1{\expandafter\IndexXi#1!!!\IndexNIL}
+\def\IndexXi#1!#2!#3!#4\IndexNIL{%
+ \ifx\relax#3\relax % no 3rd argument
+ \ifx\relax#2\relax % no 2nd argument
+ \IndexXXi#1@@\IndexNIL % scan #1 for @
+ \else\IndexXXii#1!#2@@\IndexNIL\fi % scan #2 for @
+ \else\IndexXXiii#1!\noexpand#2!#3@@\IndexNIL% scan #3 for @
+ \fi}
+\def\IndexXXi#1@#2@#3\IndexNIL{%
+ \ifx\relax#2\relax % no @ in last arg
+ \def\hvTemp{#1}%
+ \ifx\hvTemp\hvEncap\index{{#1}}#1\else% {{...}} to get "| with hyperref
+ \ifx\hvIDXfont\hvIDXfontDefault\index{#1}#1
+ \else\index{#1@\hvIDXfont{#1}}\hvIDXfont{#1}\fi\fi%#1
+ \else\index{#1@#2}#2\fi}% % #1@#2
+%
+\def\IndexXXii#1!#2@#3@#4\IndexNIL{%
+ \ifx\relax#3\relax % no @ in last arg
+ \def\hvTemp{#2}%
+ \ifx\hvTemp\hvEncap\index{#1!{#2}}#2\else
+ \ifx\hvIDXfont\hvIDXfontDefault\index{#2}#2
+ \else\index{#1!#2@\hvIDXfont{#2}}\hvIDXfont{#2}\fi\fi%
+ \else\index{#1!\protect#2@#3}#3\fi}
+%
+\def\IndexXXiii#1!#2!#3@#4@#5\IndexNIL{%
+ \ifx\relax#4\relax % no @ in last arg
+ \def\hvTemp{#3}%
+ \ifx\hvTemp\hvEncap\index{#1!#2!{#3}}#3\else
+ \ifx\hvIDXfont\hvIDXfontDefault\index{#3}#3
+ \else\index{#1!#2!#3@\hvIDXfont{#3}}\hvIDXfont{#3}\fi\fi%
+ \else\index{#1!#2!\protect#3@#4}#4\fi}
+%
+\def\sfIndex#1{\let\hvIDXfont\textsf\Index{#1}\let\hvIDXfont\hvIDXfontDefault}
+\def\ttIndex#1{\let\hvIDXfont\texttt\Index{#1}\let\hvIDXfont\hvIDXfontDefault}
+\def\scIndex#1{\let\hvIDXfont\textsc\Index{#1}\let\hvIDXfont\hvIDXfontDefault}
+\def\itIndex#1{\let\hvIDXfont\textit\Index{#1}\let\hvIDXfont\hvIDXfontDefault}
+\def\bfIndex#1{\let\hvIDXfont\textbf\Index{#1}\let\hvIDXfont\hvIDXfontDefault}
+%
+\makeatletter
+\def\sIndex#1{\expandafter\sIndex@i#1\@nil}
+\def\sIndex@i#1|#2\@nil{\index{#1|see{#2}}#1}
+\def\saIndex#1{\expandafter\saIndex@i#1\@nil}
+\def\saIndex@i#1|#2\@nil{\index{#1|seealso{#2}}#1}
+%
+\begingroup
+ \lccode`0=`\{
+ \lccode`1=`\}
+\lowercase{%
+ \endgroup
+ \newcommand\hv@BraceLeft{0}%
+ \newcommand\hv@BraceRight{1}%
+}
+\iffalse
+\def\iBraceL{%
+ \begingroup
+ \edef\x{\endgroup
+ \noexpand\index{\string"\string{@\string\textbraceleft}%
+ }\x}
+\def\iBraceR{%
+ \begingroup
+ \edef\x{\endgroup
+ \noexpand\index{\string"\string{@\string\textbraceleft}%
+ }\x}
+\fi
+%\begingroup
+% \edef\x{\endgroup
+% \noexpand\index{\string"\string{@\string\textbraceleft}%
+% }%
+%\x
+\newcommand*{\hv@braceIndex}[1]{\index{#1}}
+\newcommand*\iBraceL{\hv@braceIndex{\string"\hv@BraceLeft @\string\textbraceleft}}
+\newcommand*\iBraceR{\hv@braceIndex{\string"\hv@BraceRight @\string\textbraceright}}
+\newcommand*\IBraceL{\hv@braceIndex{\string"\hv@BraceLeft @\string\textbraceleft}\{}
+\newcommand*\IBraceR{\hv@braceIndex{\string"\hv@BraceRight @\string\textbraceright}\}}
+
+%\newcommand*\iBraceL{\iBraceL}
+%\newcommand*\iBraceR{\iBraceR}
+%\newcommand*\IBraceL{\iBraceL\textbraceleft}
+%\newcommand*\IBraceR{\iBraceR\textbraceright}
+%\ifhvShortHandOff\shorthandon{"}\fi
+
+\endinput