texlive[52195] Master: esindex (27sep19)

commits+karl at tug.org commits+karl at tug.org
Fri Sep 27 23:29:02 CEST 2019


Revision: 52195
          http://tug.org/svn/texlive?view=revision&revision=52195
Author:   karl
Date:     2019-09-27 23:29:01 +0200 (Fri, 27 Sep 2019)
Log Message:
-----------
esindex (27sep19)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/esindex/
    trunk/Master/texmf-dist/doc/latex/esindex/README.md
    trunk/Master/texmf-dist/doc/latex/esindex/esindex.pdf
    trunk/Master/texmf-dist/doc/latex/esindex/esindex.tex
    trunk/Master/texmf-dist/tex/latex/esindex/
    trunk/Master/texmf-dist/tex/latex/esindex/esindex.sty
    trunk/Master/tlpkg/tlpsrc/esindex.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/esindex/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esindex/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/esindex/README.md	2019-09-27 21:29:01 UTC (rev 52195)
@@ -0,0 +1,14 @@
+
+Generates automatically sort keys. Originally only for Spanish, but
+version 1.5 provides tools for it to be adapted to other languages, so
+that, for example, \esindex{\textit{Höhe}} can be made equivalent to
+\index{Hoehe@\textit{Höhe}}
+
+License:     MIT
+________
+Javier Bezos --- http://www.texnia.com
+
+
+
+
+


Property changes on: trunk/Master/texmf-dist/doc/latex/esindex/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/esindex/esindex.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/esindex/esindex.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esindex/esindex.pdf	2019-09-27 21:26:38 UTC (rev 52194)
+++ trunk/Master/texmf-dist/doc/latex/esindex/esindex.pdf	2019-09-27 21:29:01 UTC (rev 52195)

Property changes on: trunk/Master/texmf-dist/doc/latex/esindex/esindex.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/esindex/esindex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esindex/esindex.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/esindex/esindex.tex	2019-09-27 21:29:01 UTC (rev 52195)
@@ -0,0 +1,270 @@
+%
+% Copyright (C) 1998-2019 Javier Bezos http://www.texnia.com
+%
+% This file may be distributed and/or modified under the conditions of
+% the MIT License. A version can be found at the end of this file.
+%
+% Repository: https://github.com/jbezos/esindex
+%
+
+\documentclass{article}
+\usepackage[english,spanish]{babel}
+\spanishdatedel
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+
+\title{Paquete \textsf{esindex}\footnote{Este
+     archivo est\'a actualmente en la versión 1.5
+     con fecha 2019-01-28.
+     Esta copia del manual se compuso el~\today.}}
+
+\author{Javier Bezos\footnote{Para comentarios y sugerencias: 
+\texttt{http://www.texnia.com}.}}
+
+\raggedright
+\parskip=1ex
+
+\date{2019-01-28}
+
+\begin{document}
+
+\maketitle
+
+This package defines the command \verb|\esindex| which eases writing
+Spanish index entries:
+\begin{verbatim}
+\esindex{cañón}
+\end{verbatim}
+is equivalent to
+\begin{verbatim}
+\index{can^^ffon at cañón}
+\end{verbatim}
+As you can see, the package generates the sort key within \TeX{}
+itself, which has a number of advantages.
+
+Although it is a specifically Spanish tool (so most of the
+documentation is in Spanish), the idea behind this package may be
+applied to other languages, and tools to adapt it are provided, too.
+They are explained below.
+
+Version 1.5 provides tools for other languages and adds support for
+\textsf{luatex} and \textsf{xetex}.
+
+\section{Spanish}
+
+Este paquete ha sido diseñado para facilitar la escritura de índices
+correctamente alfabetizados en castellano. Su principal orden es
+\verb|\esindex|, que convierte a una forma adecuada su argumento. Así
+por ejemplo,
+\begin{verbatim}
+\esindex{cañón}
+\end{verbatim}
+equivale a
+\begin{verbatim}
+\index{can^^ffon at cañón}
+\end{verbatim}
+No es necesario usar \textsf{babel} salvo, lógicamente, si los acentos
+están escritos en forma de abreviaciones (\verb|'a|, \verb|'e|, etc.)
+en lugar de con los caracteres reales. En este último caso, el paquete
+utiliza ciertas órdenes internas de \textsf{babel}, por lo que no puedo
+garantizar su funcionamiento correcto con versiones distintas a las 3.6
+a 3.27. En caso de que \textsf{esindex} sea incompatible con futuras
+versiones de \textsf{babel} (lo cual no es realmente probable)
+intentaré adaptarlo en el menor tiempo posible.
+
+Salvo el carácter \verb|actual| (normalmente \verb|@|) se pueden usar
+todos los caracteres especiales de \textit{MakeIndex}. Se pueden
+aplicar convenciones diferentes a las normales, pero en este caso hacen
+falta ajustes adicionales en caso de que los modificados sean
+\verb|actual|, \verb|encap|, \verb|level| o \verb|quote|. En ese caso
+basta con indicar los caracteres que hay que usar como opciones de
+paquete. Por ejemplo, si para \verb|quote| decidimos usar \verb|$| en
+nuestro archivo \verb|.ist| particular, tendríamos que llamar al
+paquete del siguiente modo:
+\begin{verbatim}
+\usepackage[quote=$]{esindex}
+\end{verbatim}
+
+Es importante observar que, a diferencia de la opción para alemán de
+\textit{MakeIndex}, el uso de \verb|"| en abreviaciones como \verb|"u|
+es completamente legítimo, ya que el paquete reconoce tal combinación y
+la trata aparte. Lo mismo vale para \verb|'| o \verb|~| en caso de que
+se usaran como carácter especial. Es decir
+\begin{verbatim}
+\esindex{{"!`}Cig"ue'nas{"!}|textbf}
+\end{verbatim}
+equivale a
+\begin{verbatim}
+\index{{"!`}Ciguen^^ffas{"!}@{"!`}Cig\"ue\~nas{"!}|textbf}
+\end{verbatim}
+
+Sin embargo, el uso del carácter \verb|quote| ante \verb|encap| o
+\verb|level| no se detecta a menos que el grupo esté encerrado entre
+llaves. Por ejemplo, en lugar de \verb/\esindex{Pleca: "|}/ debe
+escribirse \verb/\esindex{Pleca: {"|}}/. (En realidad en este caso
+podría haberse usado \verb|\index|. Es tan sólo un ejemplo.)
+
+Aunque el hecho de que \verb|@| no se pueda usar en \verb|\esindex|
+hace que todavía algunas entradas se tengan que hacer a mano, la mayor
+parte del trabajo se ve considerablemente simplificado.
+
+Finalmente, hay que señalar que con este paquete no se crea en el
+índice una entrada propia para la palabras que empiezan por eñe, sino
+que tan sólo se añaden al final de la ene. En el rarísimo caso de que
+hubiera palabras que empiezan por eñe habría que modificar el archivo
+\verb|.ind| a mano o bien redefinir de algún modo las entradas
+generadas.
+
+La versión 1.3 elimina una incompatibilidad con recientes versiones de
+\LaTeX{} y añade nuevas funciones:
+\begin{itemize}
+\item Opción de paquete \verb|ignorespaces|: al formar la clave de 
+ordenación se suprimen los espacios, de forma que:
+$$\mbox{adentro} < \mbox{a donde} = \mbox{adonde}.$$
+\item Opción de paquete \verb|replaceindex|: el comportamiento de
+\verb|\index| se reemplaza por el de \verb|\esindex|, aunque en este
+caso no es posible introducir entradas que no se adapten a lo
+requerido por \verb|\esindex|.
+\item La orden \verb|\ignorewords| da
+una lista de palabras separadas por comas que no se cuentan en la
+ordenación.  Por ejemplo, con \verb|\ignorewords{de}| tendríamos:
+$$\mbox{pino albar} < \mbox{pino laricio} < \mbox{pino de montaña}.$$
+Distingue la caja, por lo que las formas con mayúsculas hay que darlas
+explícitamente, si hicieran falta.
+\end{itemize}
+
+Algunas funciones adicionales son:
+\begin{itemize}
+\item La lista de tókenes \verb|\everyesindex| permite dar definiciones
+locales para establecer el comportamiento de otras órdenes. Por
+ejemplo:
+\begin{verbatim}
+\everyesindex{\renewcommand\emph[1]{#1}}
+\end{verbatim}
+elimina de la clave esa orden. Con:
+\begin{verbatim}
+\everyesindex{\renewcommand\emph[1]{#1'}}
+\end{verbatim}
+la entrada en cursiva iría detrás de la redonda, si la hubiera. Es una
+técnica que se puede emplear en otros casos para reajustar el orden de
+entradas idénticas.
+
+\item La orden \verb|\esindexsort| permite predefinir claves asociadas
+a entradas concretas, para ajustar su ordenación (lo que normalmente se
+consigue añadiendo texto adicional para que makeindex lo tenga en
+cuenta). Estas correspondencias deben darse antes de la aparición del
+primer \verb|\esindex| con ese término, y las claves se procesan
+posteriormente con \verb|ignorespaces|, \verb|\ignorewords| y
+\verb|\everyesindex|, si están activadas. Por ejemplo:
+\begin{verbatim}
+\esindexsort{adonde}{adonde'1}
+\esindexsort{adónde}{adonde'2}
+\esindexsort{a donde}{a donde'7}
+\esindexsort{a dónde}{a donde'8}
+\end{verbatim}
+daría el orden \emph{adonde, adónde, a donde, a dónde}, con
+\verb|ignorespaces|, o bien \emph{a donde, a dónde,} [probablemente
+otros términos], \emph{adonde, adónde}, sin \verb|ignorespaces|.
+\end{itemize}
+
+\section{Other languages}
+
+First, you very likely want to ignore de Spanish specific settings with
+the package option \verb|nospanish|. What \verb|\esindex| does is the
+following:
+
+\begin{enumerate}
+\item Replacements set by \verb|\esindexsort|. See an example above.
+
+\item \verb|\esindexreplace| in \verb|\everyesindex|. See an example
+below.
+
+\item Replacements by \LaTeX{} (protected) expansion, including
+redefinitions in \verb|\everyesindex| and, in Spanish, \verb|\`|,
+\verb|\"| and \verb|\~|. You may force protected expansion at any point
+inside \verb|\everyesindex| with \verb|\esindexexpandkey|. In addition,
+the sort key is stored in \verb|\esindexkey|, which can be manipulated
+directly.
+
+\item Removal of words listed in \verb|\ignoredwords| (maybe not the
+logical place, but real life is not always logical). For example, with
+\verb|\ignorewords{de,la}| the words “de” and “la” (preceded and
+followed by spaces) are removed from the key.
+
+\item Removal of spaces if \verb|ignorespaces|. Very often this is
+similar to the \verb|-l| option of \textit{MakeIndex}.
+
+\item Replacement of `actual' as set by \verb|\esindexactual|, but
+still based on the original \verb|\esindex| argument, without changes.
+For example, with:
+\begin{verbatim}
+\esindexactual{Felipe II}{Felipe II, \textit{rey de España}}
+\end{verbatim}
+just write \verb|\esindex{Felipe II}| (as many times as you want), and
+the entry will show “Felipe II, \textit{rey de España}” (the sort key
+is still based on “Felipe II”, of course).
+
+\end{enumerate}
+
+Do you find it chaotic? Well, you are right. After all this package is
+for Spanish indexes with some readjustments for it to be adapted to
+other languages. A general solution deserves another package. Feel free
+to create one based on this package (MIT license), if you like.
+
+Here is an example of an \verb|\everyesindex|. Like other
+\verb|\every...|'s, it is a token register:
+\begin{verbatim}
+\everyesindex{%
+  \renewcommand\"[1]{#1e}%
+  \renewcommand\textit[1]{#1}%
+  \esindexexpandkey
+  \esindexreplace{ä}{ae}%
+  \esindexreplace{ü}{ue}%
+  \esindexreplace{ö}{oe}}
+\end{verbatim}
+
+What it does is:
+\begin{enumerate}
+\item Redefines \verb|\textit| so that it is removed to build the key.
+With \verb|\everyesindex{\renewcommand\textit[1]{#1'}}| italics would
+be sorted after upright.
+
+\item Redefines \verb|\"|. Of course, this only works correctly if used
+for this precise expansion.
+
+\item Applies the previous changes with a protected expansion.
+
+\item Make a direct replacement of some characters.
+
+\end{enumerate}
+Remember these changes are not shown -- they are used by
+\textit{MakeIndex} to sort the entries. Note also replacements can be
+language dependent with the appropriate test (eg, with
+\textsf{iflang}).
+
+As a convenience tool, \verb|\esindexlastchar| is \verb|^^ff| or
+\verb|^^^^ffff|, depending on the engine.
+
+\end{document}
+
+MIT License
+-----------
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Property changes on: trunk/Master/texmf-dist/doc/latex/esindex/esindex.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/esindex/esindex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/esindex/esindex.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/esindex/esindex.sty	2019-09-27 21:29:01 UTC (rev 52195)
@@ -0,0 +1,316 @@
+%
+% Copyright (C) 1998-2019 Javier Bezos http://www.texnia.com
+%
+% This file may be distributed and/or modified under the conditions of
+% the MIT License. A version can be found at the end of this file.
+%
+% Repository: https://github.com/jbezos/esindex
+%
+% Changes
+%
+% 2006-05-12. Bug fixed. Missing accents in multilevel entries.
+% 2008-09-17. Made compatible with latest LaTeX versions (\IeC).
+%             Added \'\i.
+%             Package option ignorespaces.
+%             Macro \ignorewords.
+% 2008-09-28. Added \everyesindex.
+%             Macro \esindexsort.
+% 2019-01-25. Macro \esindexactual.
+%             Package option nospanish.
+%             Adapted to xe/lua, with:
+%             Macros \esindexreplace, \esindexlastchar, \esindexkey
+
+\ProvidesPackage{esindex}[2019/01/28 v1.5 Spanish indexes]
+
+\def\esx at level{`\!}
+\def\esx at actual{`\@}
+\def\esx at encap{`\|}
+\def\esx at quote{`\"}
+\DeclareOption{ignorespaces}{%
+  \def\esx at zapspace#1\esx at zapspace{\zap at space#1 \@empty}}
+
+\DeclareOption{replaceindex}{%
+  \AtBeginDocument{%
+    \let\esx at trueindex\index
+    \let\index\esindex}}
+
+\DeclareOption{nospanish}{\esx at spanishfalse}
+
+\DeclareOption*{%
+  \@expandtwoargs\in@{=}{\CurrentOption}%
+  \ifin@
+    \expandafter\esx at process\CurrentOption\esx at process
+  \else
+    \esx at error
+  \fi}
+
+\def\esx at process#1=#2\esx at process{%
+  \@ifundefined{esx@#1}{\esx at error}{%
+  \expandafter\edef\csname esx@#1\endcsname
+    {\string`\expandafter\noexpand\csname\string#2\endcsname}}}
+
+\def\esx at error{\PackageError{esindex}{Unknown index parameter}%
+	   {Except for ignorespaces, nospanish, replaceindex, options^^J%
+     in this package ave the form parameter=value, where^^J%
+     parameter stands for of the following MakeIndex ones:^^J%
+     encap, level, actual, quote}}
+
+\newif\ifesx at spanish
+\esx at spanishtrue
+\let\esx at spanishaccents\relax
+\let\esx at spanishquotes\relax
+\let\esx at zapspace\@empty
+\def\esx at trueindex{\index}
+
+\ProcessOptions
+
+\begingroup
+
+\catcode`\|=\catcode\esx at encap   \lccode`\|=\esx at encap\relax
+\catcode`\!=\catcode\esx at level   \lccode`\!=\esx at level\relax
+\catcode`\&=\catcode\esx at actual  \lccode`\&=\esx at actual\relax
+\catcode`\*=13                   \lccode`\*=\esx at quote\relax
+
+\catcode`\'=13
+\catcode`\"=13
+\catcode`\~=13
+
+\gdef\esindex#1#{\esx at index{#1}}
+
+\lowercase{
+\gdef\esx at index#1#2{%
+  \let\esx at g\@empty  % used to build the keysort at actual list
+  \esx at bar@idx#2|\@@
+  \expandafter\esx@@index\esx at b!\@@
+  \toks@\expandafter{\esx at g}%
+  \protected at edef\esx at g{\noexpand\esx at trueindex#1{\the\toks@\esx at a}}%
+  \esx at g}
+}
+
+\lowercase{
+\gdef\esx at bar@idx#1|#2\@@{%
+  \def\esx at b{#1}\def\esx at a{#2}%
+  \ifx\esx at a\@empty\else\esx at bar@eat#2\fi}
+}
+
+\lowercase{
+\gdef\esx at bar@eat#1|{\def\esx at a{|#1}}
+}
+
+\gdef\esindexexpandkey{\protected at edef\esindexkey{\esindexkey}}
+
+% The following is called for every ! level, much like a loop. #1 is
+% the current level.
+
+\lowercase{
+\gdef\esx@@index#1!#2\@@{%
+  \begingroup
+  \let\IeC\@firstofone
+  \def\@tabacckludge##1{\csname\string##1\endcsname}%
+  \esx at spanishaccents
+  \def\esindexkey{#1}%
+      % Apply \esindexsort
+  \@ifundefined{esx at sort@\expandafter\strip at prefix\meaning\esindexkey}%
+    {\@temptokena{#1}}%
+    {\@temptokena\expandafter\expandafter\expandafter{%
+       \csname esx at sort@\expandafter\strip at prefix\meaning\esindexkey\endcsname}}%
+  \edef\esindexkey{\the\@temptokena}%
+      % Execute \everyesindex and apply accents, so that \'a becomes a, and
+      % redefinitions in \everyesindex are also "applied"
+  \the\everyesindex
+  \esindexexpandkey
+  \esx at spanishreplacements
+  \@temptokena\expandafter{\esindexkey}%
+      % Key now in \@temptokena
+      % Particles, with \ignorewords. \esx at remwords works on \@temptokena
+  \@for\esx at a:=\esx at ignorewords\do{%
+     \expandafter\esx at remwords\expandafter{\esx at a}}%
+  \toks@\expandafter{\esx at g}%  \esx at g here contains previous ! levels
+      % Key still in \@temptokena, now without particles.
+      % Add current key and @, and also remove spaces if 'ignorespaces'.
+  \protected at xdef\esx at g{%
+    \the\toks@
+    \expandafter\esx at zapspace\the\@temptokena\esx at zapspace
+    \string &}%
+      % Key built until now in \esx at g (including previous levels,
+      % current level key, but not the current actual entry).
+  \endgroup
+  \begingroup
+      % Used in the protected expansion below, and only for " in spanish:
+  \esx at spanishquotes
+      % Set actual, if there is a saved one with \esindexactual.
+  \def\esx at a{#1}%
+  \@ifundefined{esx at actual@\expandafter\strip at prefix\meaning\esx at a}%
+    {\def\esx at a{#1}}%
+    {\expandafter\let\expandafter\esx at a
+       \csname esx at actual@\expandafter\strip at prefix\meaning\esx at a\endcsname}%
+      % Add actual, and go to the next ! level
+  \toks@\expandafter{\esx at g}%
+  \def\esx at b{#2}%
+  \ifx\esx at b\@empty  % ie, if no further ! levels
+     \protected at xdef\esx at g{\the\toks@\esx at a}%
+  \else
+     \protected at xdef\esx at g{\the\toks@\esx at a!}%
+     \esx@@index#2\@@  % if there are, continue
+  \fi
+  \endgroup}
+}
+
+\ifesx at spanish
+\lowercase{
+  \def\esx at spanishquotes{%
+    \def*##1{% <- its lower case is the quote char (")
+      \ifcat##1a%
+        \@ifundefined{spanish at sh@\string*\string##1@}%
+          {\string*##1}%
+          {\string*\string*##1}%
+      \else
+        \string*\string##1%
+      \fi}}
+  \gdef\esx at spanishaccents{%
+    \def\'##1{\@ifundefined{esx at index@q@\string##1}%
+         {##1}%
+         {\csname esx at index@q@\string##1\endcsname}}%
+    \def\~##1{\string##1\esindexlastchar}%
+    \def\"##1{\@ifundefined{esx at index@qq@\string##1}%
+         {\string"##1}%
+         {\csname esx at index@qq@\string##1\endcsname}}%
+    \ifnum\catcode`\'=\active
+      \let'\'%
+    \fi
+    \ifnum\catcode`\~=\active
+      \let~\~%
+    \fi
+    \ifnum\catcode`\"=\active
+      \let"\"%
+    \fi}
+}
+\fi
+
+\endgroup % Finishes special catcodes
+
+\def\ignorewords#1{%
+  \protected at edef\esx at ignorewords{\zap at space#1 \@empty}}
+
+\let\esx at ignorewords\@empty
+
+\def\esx at remwords#1{%
+  \def\esx at c##1 #1 \esx at c{\esx at a##1 #1 \esx at a}%
+  \def\esx at a##1 #1 ##2\esx at a{%
+     \ifx\@empty##2\@empty
+       \@firstofone##1##2%
+     \else
+       \@firstofone##1 \esx at c##2\esx at c
+     \fi}%
+  \expandafter\esx at remwords@ii\expandafter{\the\@temptokena}{#1}}%
+
+\def\esx at remwords@ii#1#2{%
+  \protected at xdef\esx at b{\expandafter\esx at a\space#1 #2 \esx at a}%
+  \@temptokena\expandafter{\esx at b}}
+
+\def\esindexsort#1{%
+  \def\esx at a{#1}%
+  \@namedef{esx at sort@\expandafter\strip at prefix\meaning\esx at a}}
+
+\def\esindexactual#1{%
+  \def\esx at a{#1}%
+  \@namedef{esx at actual@\expandafter\strip at prefix\meaning\esx at a}}
+
+\newtoks\everyesindex
+
+%-------------------------
+
+\long\def\esx at afterfi#1\fi{\fi#1}
+\def\esx at replace#1#2#3{% in #1 -> repl #2 by #3
+  \toks@{}%
+  \def\esx at replace@aux##1#2##2#2{%
+    \ifx\esx at nil##2%
+      \toks@\expandafter{\the\toks@##1}%
+    \else
+      \toks@\expandafter{\the\toks@##1#3}%
+      \esx at afterfi
+      \esx at replace@aux##2#2%
+    \fi}%
+  \expandafter\esx at replace@aux#1#2\esx at nil#2%
+  \edef#1{\the\toks@}}
+
+\def\esindexreplace#1#2{\esx at replace\esindexkey{#1}{#2}}
+
+%-------------------------
+
+\let\esx at spanishreplacements\relax
+
+\ifesx at spanish
+
+  \def\esx at index@q at n{n\esindexlastchar}
+  \def\esx at index@q at N{N\esindexlastchar}
+  \@namedef{esx at index@q@\string\i}{i}
+
+  \def\esx at index@qq at o{.o}
+  \def\esx at index@qq at O{.O}
+  \def\esx at index@qq at a{.a}
+  \def\esx at index@qq at A{.A}
+  \def\esx at index@qq at u{u}
+  \def\esx at index@qq at U{U}
+  \def\esx at index@qq at c{c}
+  \def\esx at index@qq at C{C}
+
+  \def\esx@@spanishreplacements{%
+    \esindexreplace{á}{a}%
+    \esindexreplace{é}{e}%
+    \esindexreplace{í}{i}%
+    \esindexreplace{ó}{o}%
+    \esindexreplace{ú}{u}%
+    \esindexreplace{ñ}{n\esindexlastchar}%
+    \esindexreplace{ü}{u}%
+    \esindexreplace{Á}{A}%
+    \esindexreplace{É}{E}%
+    \esindexreplace{Í}{I}%
+    \esindexreplace{Ó}{O}%
+    \esindexreplace{Ú}{U}%
+    \esindexreplace{Ñ}{N\esindexlastchar}%
+    \esindexreplace{Ü}{U}}
+
+\fi
+
+\begingroup
+  \catcode`\^=7
+  \ifx\directlua\@undefined
+    \ifx\XeTeXinterchartoks\@undefined
+      \catcode`\^^ff=12
+      \xdef\esindexlastchar{^^ff}
+    \else
+      \catcode`\^^^^ffff=12
+      \xdef\esindexlastchar{^^^^ffff}
+      \global\let\esx at spanishreplacements\esx@@spanishreplacements
+    \fi
+  \else  
+    \catcode`\^^^^ffff=12
+    \xdef\esindexlastchar{^^^^ffff}
+    \global\let\esx at spanishreplacements\esx@@spanishreplacements
+  \fi
+\endgroup
+
+\endinput
+
+MIT License
+-----------
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/latex/esindex/esindex.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2019-09-27 21:26:38 UTC (rev 52194)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2019-09-27 21:29:01 UTC (rev 52195)
@@ -263,7 +263,7 @@
     epspdf epspdfconversion epstopdf
     eqell eqexpl eqlist eqnalign eqname eqnarray eqnnumwarn eqparbox
     erdc erewhon errata erw-l3
-    esami es-tex-faq esdiff esint esint-type1 esk eskd eskdx
+    esami es-tex-faq esdiff esindex esint esint-type1 esk eskd eskdx
     eso-pic esrelation esstix estcpmm esvect
     etaremune etdipa etex-pkg etextools ethiop ethiop-t1
     etoc etoolbox etoolbox-de etsvthor

Modified: trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2019-09-27 21:26:38 UTC (rev 52194)
+++ trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2019-09-27 21:29:01 UTC (rev 52195)
@@ -381,6 +381,7 @@
 depend erw-l3
 depend esami
 depend esdiff
+depend esindex
 depend esint
 depend esint-type1
 depend etaremune

Added: trunk/Master/tlpkg/tlpsrc/esindex.tlpsrc
===================================================================


More information about the tex-live-commits mailing list