diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/bezos/esindex.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/bezos/esindex.sty | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/bezos/esindex.sty b/Master/texmf-dist/tex/latex/bezos/esindex.sty new file mode 100644 index 00000000000..5fefcf2c184 --- /dev/null +++ b/Master/texmf-dist/tex/latex/bezos/esindex.sty @@ -0,0 +1,123 @@ +% This file is copyrighted (c) 1998-2004 by Javier Bezos. +% All Rights Reserved. +% +% 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; either +% version 1 of the License, or any later version. + +\ProvidesPackage{esindex}[2004/07/19 v1.1 Spanish indexes] + +\def\esx@level{`\!} +\def\esx@actual{`\@} +\def\esx@encap{`\|} +\def\esx@quote{`\"} + +\def\esx@error{\PackageError{esindex}{Unknown index parameter}% + {Options in this package have the form^^J% + parameter=value, where parameter stands for^^J% + one of the following MakeIndex ones:^^J% + encap, level, actual, quote}} + +\def\esx@process#1=#2\esx@process{% + \@ifundefined{esx@#1}{\esx@error}{% + \expandafter\edef\csname esx@#1\endcsname + {\string`\expandafter\noexpand\csname\string#2\endcsname}}} + +\DeclareOption*{% + \@expandtwoargs\in@{=}{\CurrentOption}% + \ifin@ + \expandafter\esx@process\CurrentOption\esx@process + \else + \esx@error + \fi} + +\ProcessOptions + +\begingroup + +\catcode`\|=\catcode\esx@encap \lccode`\|=\esx@encap\relax +\catcode`\!=\catcode\esx@level \lccode`\!=\esx@level\relax +\catcode`\&=\catcode\esx@actual \lccode`\&=\esx@actual\relax +\catcode`\*=13 \lccode`\*=\esx@quote\relax + +\catcode`\'=13 +\catcode`\"=13 +\catcode`\~=13 + +\gdef\esindex#1#{\esx@index{#1}} + +\lowercase{ +\gdef\esx@index#1#2{% + \let\esx@g\@empty + \esx@bar@idx#2|\@@ + \expandafter\esx@@index\esx@b!\@@ + \protected@edef\esx@g{\noexpand\index#1{\esx@g\esx@a}}% + \esx@g} +} + +\lowercase{ +\gdef\esx@bar@idx#1|#2\@@{% + \def\esx@b{#1}\def\esx@a{#2}% + \ifx\esx@a\@empty\else\esx@bar@eat#2\fi} +} + +\lowercase{ +\gdef\esx@bar@eat#1|{\def\esx@a{|#1}} +} + +\lowercase{ +\gdef\esx@@index#1!#2\@@{% + \begingroup + \def\@tabacckludge##1{\csname\string##1\endcsname}% + \def\'##1{\@ifundefined{esx@index@q@\string##1}% + {##1}% + {\csname esx@index@q@\string##1\endcsname}}% + \ifnum\catcode`\'=\active + \let'\'% + \fi + \def\~##1{\string##1\string^^ff}% + \ifnum\catcode`\~=\active + \let~\~% + \fi + \def\"##1{\@ifundefined{esx@index@qq@\string##1}% + {\string"##1}% + {\csname esx@index@qq@\string##1\endcsname}}% + \ifnum\catcode`\"=\active + \let"\"% + \fi + \protected@xdef\esx@g{\esx@g#1\string &}% + \endgroup + \begingroup + \def*##1{% <- its lower case is the quote char (") + \ifcat##1a% + \@ifundefined{spanish@sh@\string*\string##1@}% + {\string*##1}% + {\string*\string*##1}% + \else + \string*\string##1% + \fi}% + \def\esx@b{#2}% + \ifx\esx@b\@empty + \protected@xdef\esx@g{\esx@g#1}% + \else + \protected@xdef\esx@g{\esx@g#1!}% + \esx@@index#2\@@ + \fi + \endgroup} +} +\endgroup + +\def\esx@index@q@n{n\string^^ff} +\def\esx@index@q@N{N\string^^ff} + +\def\esx@index@qq@o{.o} +\def\esx@index@qq@O{.O} +\def\esx@index@qq@a{.a} +\def\esx@index@qq@A{.A} +\def\esx@index@qq@u{u} +\def\esx@index@qq@A{U} +\def\esx@index@qq@c{c} +\def\esx@index@qq@C{C} + +\endinput
\ No newline at end of file |