summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/babel-contrib/spanish
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/babel-contrib/spanish
Initial commit
Diffstat (limited to 'macros/latex/contrib/babel-contrib/spanish')
-rw-r--r--macros/latex/contrib/babel-contrib/spanish/README.md62
-rw-r--r--macros/latex/contrib/babel-contrib/spanish/spanish.dtx2749
-rw-r--r--macros/latex/contrib/babel-contrib/spanish/spanish.ins100
-rw-r--r--macros/latex/contrib/babel-contrib/spanish/spanish.pdfbin0 -> 183261 bytes
4 files changed, 2911 insertions, 0 deletions
diff --git a/macros/latex/contrib/babel-contrib/spanish/README.md b/macros/latex/contrib/babel-contrib/spanish/README.md
new file mode 100644
index 0000000000..6ced2b5f67
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/spanish/README.md
@@ -0,0 +1,62 @@
+Spanish for babel 5.0p
+======================
+
+This is the babel style for the Spanish language (5.0p).
+
+History
+-------
+
+5.0a. 2007-02-21
+Reimplemented in full, which some parts rewritten from scratch. Added
+the es- mechanism and the mexico option. Many bug fixes
+
+5.0d. 2008-05-25
+Fixed two bugs: misplaced subscripts with lim and the like; problem
+with \roman and hyperref
+
+5.0e. 2008-07-06
+Fixed '', which gobbled the space following.
+
+[5.0f. Internal.]
+
+5.0g. 2008-07-19
+Fixed '' again, which killed the preceding kerning
+
+5.0h. 2009-01-02
+Added two package options: es-noenumerate, es-noitemize.
+
+5.0i. 2009-05-11
+Fixed bug with romanidx.
+
+5.0j. 2010-05-23
+Fixed a babel bug for spanish to work with french.
+Fixed a bug with ifthen.
+Fixed a bug with \... and \.
+
+5.0k. 2011-10-06
+Fixed an error when . had mathcode "8000 before loading spanish
+
+5.0l (mistakenly identified as 5.0j). 2013-04-11
+Adapted to new babel modifiers
+
+5.0m. 2014-01-29
+Fixed (rare) bug in font sizes when superscript o/a where used
+Fixed bad spacing in tabular and accents in OT1 encoding
+Restored code for ., accidentally deleted in previous version
+
+5.0n. 2014-04-24
+New macros \spanishdate, \spanishDate, which format dates
+ (\today, \Today are now based on them)
+Mainly internal changes, using the new tools in babel 3.9
+Fixed error with \foreignlanguage in tabular
+
+5.0o. 2016-01-15
+New macro \spanishdatefirst
+Fixed a bug when \alph reached tilde-n
+Fixed \dotlessi with lua (but not \acute, yet)
+
+5.0p. 2016-03-03
+Fixed \acute with lua (it now uses the composite char)
+
+----------
+2016-03-03
diff --git a/macros/latex/contrib/babel-contrib/spanish/spanish.dtx b/macros/latex/contrib/babel-contrib/spanish/spanish.dtx
new file mode 100644
index 0000000000..6311cf329c
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/spanish/spanish.dtx
@@ -0,0 +1,2749 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1997 - 2016
+% Javier Bezos (www.tex-tipografia.com)
+% and
+% CervanTeX (www.cervantex.es)
+%
+% It may be distributed and/or modified under the conditions of the
+% LaTeX Project Public License, either version 1.3 of this license or
+% (at your option) any later version. The latest version of this
+% license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX version
+% 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work is Javier Bezos
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+% \fi
+%
+% \ProvidesFile{spanish.dtx}
+% [2016/03/03 v5.0p Spanish support from the babel system]
+%\iffalse
+%% File `spanish.dtx'
+%
+%% Spanish Language Definition File
+%% Copyright (C) 1997 - 2016
+%% Javier Bezos (www.tex-tipografia.com)
+%% and
+%% CervanTeX (www.cervantex.es)
+%
+%% Please report errors to: Javier Bezos (preferably)
+%% www.tex-tipografia.com
+%
+% This file is part of the babel system, it provides the source
+% code for the Spanish language definition file.
+% The original version of this file was written by Javier Bezos.
+% The latest release is available on CTAN:/language/spanish/
+% \fi
+%
+% \iffalse
+%<*filedriver>
+\let\ooverb\verb
+\documentclass[spanish,a4paper]{ltxdoc}
+\let\verb\ooverb
+\usepackage{babel}
+\usepackage{hyperref}
+
+\let\meta\emph
+
+\usepackage{pslatex,mathptmx,color}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\newcommand\act[1]{%
+ \\%
+ \makebox[1.5pc][l]{\textcolor{green}{$\surd$}}%
+ \textsf{#1}\ignorespaces}
+\newcommand\deact[1]{%
+ \\%
+ \makebox[1.5pc][l]{\textcolor{red}{$\times$}}%
+ \texttt{#1}\ignorespaces}
+\newcommand\txt{\makebox[1.5pc][l]{\textcolor{blue}{$\Rightarrow$}}\ignorespaces}
+\newcommand\con{\makebox[1.5pc][l]{\textcolor{magenta}{$\star$}}\ignorespaces}
+\newcommand\alw{%
+ \\%
+ \makebox[1.5pc][l]{\textcolor{green}{$\surd$}}%
+ Se define siempre, sin depender de un grupo.}
+\newcommand\opp{\qquad Opción de paquete}
+
+\newcommand*\babel{\textsf{babel}}
+\newcommand*\file[1]{\texttt{#1}}
+
+\setlength{\arrayrulewidth}{2\arrayrulewidth}
+\newcommand\toprule[1]{\cline{1-#1}\\[-2ex]}
+\newcommand\botrule[1]{\\[.6ex]\cline{1-#1}}
+\newcommand\hmk{$\string|$}
+
+\newenvironment{decl}[1][]%
+ {\par\small\addvspace{4.5ex plus 1ex}%
+ \vskip-\parskip
+ \ifx\relax#1\relax
+ \def\@decl@date{}%
+ \else
+ \def\@decl@date{\NEWfeature{#1}}%
+ \fi
+ \noindent
+ \begin{tabular}{|l|}\hline\ignorespaces}%
+ {\\\hline\end{tabular}\nobreak\@decl@date\par\nobreak
+ \vspace{2.3ex}\vskip-\parskip}
+
+\newcommand\New[1]{%
+ \leavevmode\marginpar{\raggedleft\sffamily Nuevo en #1}}
+
+\newcommand\nm[1]{\unskip\,$^{#1}$}
+\newcommand\nt[1]{\quad$^{#1}$\,\ignorespaces}
+
+\makeatletter
+ \renewcommand\@biblabel{}
+\makeatother
+
+\newcommand\DOT[1]{\lsc{DOT},~#1}
+\newcommand\DTL[1]{\lsc{DTL},~#1}
+\newcommand\MEA[1]{\lsc{MEA},~#1}
+
+\raggedright
+\setlength{\parindent}{0em}
+\setlength{\parskip}{3pt}
+
+\addtolength{\oddsidemargin}{-4pc}
+\addtolength{\textwidth}{7pc}
+
+\OnlyDescription
+\begin{document}
+
+\title{Estilo \textsf{spanish}\\
+para el sistema \babel.\footnote{Este archivo está actualmente
+en la versión 5.0p con fecha 3 de marzo del 2016.
+Esta copia del manual se compuso el~\today.}}
+
+\author{Javier Bezos\footnote{Por favor, envíen comentarios y
+sugerencias en http://www.tex-tipografia.com/spanish.html. Han
+colaborado de una u otra forma muchas personas, a las cuales agradezco
+sus comentarios y sugerencias; en particular, han sido muy activos
+Juan Luis Varona y José Luis Rivera. Para información sobre
+actualizaciones: http://www.cervantex.es/}}
+
+\date{3 de marzo del 2016}
+
+\maketitle
+
+{\small\tableofcontents}
+
+\section*{Símbolos empleados}
+
+\begin{itemize}
+\item[\textcolor{blue}{$\Rightarrow$}] Macros para ser usadas en el
+ texto (generan texto o lo estructuran).
+\item[\textcolor{magenta}{$\star$}] Macros de configuración y
+ preferencias.
+\item[\textcolor{green}{$\surd$}] Grupo que activa la orden.
+\item[\textcolor{red}{$\times$}] Opciones de paquete que anulan la
+ orden. En redonda van las destinadas específicamente a anular ese
+ punto, y en cursiva las que además anulan otros aspectos del estilo.
+\end{itemize}
+
+\section{Uso de \textsf{spanish} para babel}
+
+El estilo \textsf{spanish} para babel adapta una serie de elementos de
+los documentos de \LaTeX\ al castellano, tanto en las traducciones
+como en la tipografía. Para usarlo, basta con dar la opción
+\textsf{spanish} al cargar babel:
+\begin{verbatim}
+\usepackage[spanish]{babel}
+\end{verbatim}
+
+Esto es todo lo que hace falta para conseguir que el documento tenga
+un aspecto español. En caso de estar en México, véase, además, el
+apartado \ref{paises} (<<Opciones por países>>):\footnote{En próximas
+versiones se añadirán más países.}
+\begin{verbatim}
+\usepackage[spanish,mexico]{babel}
+\end{verbatim}
+
+El estilo \textsf{spanish} se puede cargar junto con otras lenguas
+(véase el manual de babel). Si \textsf{spanish} es la última de las
+lenguas cargadas, entonces se considera la lengua principal y se hacen
+ajustes tipográficos adicionales. En particular, se
+modifican órdenes y entornos como:
+\begin{center}
+\begin{tabular}{lll}
+ |enumerate| & |\roman| & |\section|\\
+ |itemize| & |\fnsymbol| & |\subsection|\\
+ |\%| & |\alph| & |\subsubsection|\\
+ & |\Alph| & \\
+\end{tabular}
+\end{center}
+
+El estilo está pensado para que sea fácilmente configurable. Para
+ello, se proporcionan una serie de opciones de paquete, que en caso de
+emplearse deben ir \textit{después} de \textsf{spanish}. Por ejemplo:
+\begin{verbatim}
+\usepackage[french, spanish,es-noindentfirst]{babel}
+\end{verbatim}
+carga los estilos para el francés y el español, esta última como
+lengua principal; además, evita que \textsf{spanish} sangre el
+primer párrafo tras un título. Otras opciones se pueden ajustar por
+medio de macros, en particular aquellas que se puede desear cambiar
+en medio del documento (por ejemplo, el formato de la fecha). Todas
+estas opciones se pueden pasar como modificadores de la lengua:
+\begin{verbatim}
+\usepackage[french spanish.noindentfirst]{babel}
+\end{verbatim}
+
+Los cambios están organizados en una serie de grupos:
+\textsf{captions, date, text, math} y \textsf{shorthands}. Los tres
+ultimos corresponden a lo que en babel sería normalmente
+\textsf{extras}.
+
+\section{\textsf{spanish} como lengua principal}
+
+Si la lengua principal es \textsf{spanish}, se introducen una serie de
+cambios en el momento de cargar la lengua para adaptar varios
+elementos a los usos tipográficos españoles. Estos cambios funcionan
+con las clases estándar "+--con otras tal vez alguno de ellos no tenga
+efecto--- y perduran todo el documento. Ninguno de ellos es necesario
+para componer el documento, aunque naturalmente el resultado será
+distinto.
+
+\subsection{Listas}
+
+\begin{decl} \txt |\begin{enumerate} ... \end{enumerate}|%
+\deact{es-nolists, es-noenumerate, \textit{es-nolayout, es-minimal,
+es-sloppy}} \end{decl}
+
+Usa la siguiente secuencia:\\
+\quad 1.\\
+\qquad \emph{a})\\
+\quad\qquad 1)\\
+\qquad\qquad \emph{a$'$})
+
+\begin{decl} \txt |\begin{itemize} ... \end{itemize}|%
+\deact{es-nolists, es-noitemize, \textit{es-nolayout, es-minimal,
+es-sloppy}} \end{decl}
+
+Usa la siguiente secuencia:\\
+\quad\leavevmode\hbox to 1.2ex
+ {\hss\vrule height .95ex width .8ex depth -.15ex\hss}\\
+\qquad\textbullet\\
+\quad\qquad $\circ$\\
+\qquad\qquad $\diamond$
+
+\begin{decl}
+\con |\spanishdashitems \spanishsignitems|
+\end{decl}
+
+Dos órdenes para cambiar a otros estilos en |itemize|: rayas en todos
+los niveles y \textbullet{} $\circ$ $\diamond$ $\triangleright$,
+respectivamente.
+
+\begin{decl}
+\con |es-nolists|\opp
+\end{decl}
+
+Desactiva los cambios en las listas (aunque |\es@enumerate| y
+|\es@itemize| siguen disponibles).
+
+\subsection{Contadores}
+
+\begin{decl}
+\txt |\alph \Alph|\deact{\textit{es-nolayout, es-sloppy}}
+\end{decl}
+
+Incluyen la eñe.
+
+\begin{decl}
+\txt |\fnsymbol|\deact{\textit{es-nolayout, es-sloppy}}
+\end{decl}
+
+Se emplean uno, dos, tres... asteriscos (*, **, ***, etc.), en lugar
+de la sucesión angloamericana de cruces, barras,
+etc.\footnote{\DOT{162}.}
+
+\begin{decl}
+\txt |\roman|\deact{es-ucroman, es-lcroman, \textit{es-nolayout, es-minimal, es-sloppy}}
+\end{decl}
+
+Como en castellano no se usan números romanos en minúscula, |\roman|
+se redefine para que los dé en versalitas.\footnote{\DTL{197}.} La
+opción de paquete |es-minimal| los desactiva con |es-ucroman|, y
+|es-sloppy| con |es-lcroman|.
+
+\begin{decl}
+\con |es-ucroman|\opp
+\end{decl}
+
+Opción de paquete adicional, que pasa los romanos a versales, en
+caso de que no se quiera la versalita o por incompatibilidad con algún
+paquete que use de forma indebida |\roman|.\footnote{En el momento de
+escribir esto, como mínimo son: \textsf{dramatist, epiolmec,
+flashcards, lipsum, ntheorem, ntheorem-hyper, texmate.} Otros paquetes
+como \textsf{hyperref, easy} y \textsf{exam} ya han sido corregidos.}
+
+\begin{decl}
+\con |es-lcroman|\opp
+\end{decl}
+
+Como último recurso, de haber problemas con el valor predeterminado o
+con |es-ucroman|, con esta opción de paquete puede dejarse la
+definición de \LaTeX, aunque en español los romanos en minúscula sean
+una falta ortográfica.
+
+\begin{decl}
+\con |es-preindex|\opp
+\end{decl}
+
+\textit{MakeIndex} no puede entender cómo escribe |\roman|
+el número de página, por lo que elimina las líneas afectadas. Por
+ello, el archivo |.idx| ha de ser convertido antes de procesarlo con
+\textit{MakeIndex}. Con este paquete se proporciona la utilidad
+|romanidx.sty| que se encarga de ello. Simplemente se compone ese
+archivo con \LaTeX{} y a continuación se responde a las preguntas que
+se formulan; el archivo resultante, es decir, el que hay que procesar
+con \textit{MakeIndex,} tiene la extensión \texttt{eix}.
+
+Este proceso no es necesario si no se introdujo ninguna entrada de
+índice en páginas numeradas con |\roman| (lo cual será lo más normal).
+Si un símbolo propio de \emph{MakeIndex} generara problemas, debe
+encerrarse entre llaves: \verb={"|}=.
+
+Con la opción de paquete |es-preindex| se llama desde el documento
+|romanidx.sty|, de forma que no es necesaria su ejecución
+aparte. Tampoco pide ningún dato, sino que ha de darse en el documento
+principal con la siguiente orden.
+
+\begin{decl}
+\con |\spanishindexchars|\marg{encap}\marg{open\_range}\marg{close\_range}
+\end{decl}
+
+De usarse |es-preindex| con un estilo de índice que no tiene los
+valores predeterminados de estos tres caracteres especiales, hay que
+darlos con esta orden (es decir, por omisión es
+\verb+\spanishindexchars{|}{(}{)}+).
+
+\begin{decl}
+\con |\spanishscroman \spanishlcroman \spanishucroman|
+\end{decl}
+
+Estas tres macros permiten cambios temporales en el documento de
+|\roman| a versalitas, minúsculas y mayúsculas, respectivamente.
+
+\subsection{Otros}
+
+\begin{decl}
+\txt |\guillemotleft \guillemotright|\deact{\textit{es-nolayout, es-sloppy}}
+\end{decl}
+
+Las comillas latinas para |OT1| son menos angulosas y se generan con
+unas puntas de flecha de |lasy|. En |T1| no hay cambios.
+
+\begin{decl}
+\txt |\section|, |\subsection|, etc.,
+|\tableofcontents|\deact{es-nosectiondot, es-noindentfirst, \textit{es-nolayout,
+es-mininal, es-sloppy}}
+\end{decl}
+
+Los números en los títulos están seguidos de un punto tanto en el
+texto como en el índice. Además, el primer párrafo tras el título no
+elimina la sangría.
+
+\begin{decl}
+\con |es-nolayout|\opp
+\end{decl}
+
+Si no se desea ninguno de estos cambios, basta con usar esta opción de
+paquete.
+
+\section{Traducciones}
+
+\subsection{Nombres}
+
+\begin{decl}
+\txt |\refname|, |\tablename|, |\contentsname|, etc.\\
+\con |\spanishrefname|, |\spanishtablename|, |\spanishcontentsname|, etc.
+\act{captions}
+\end{decl}
+
+Establecen las traducciones al castellano de algunos términos, tal y
+como se describe en el cuadro 1. Para cambiar el texto de ellas,
+conviene redefinir la forma que empieza con |\spanish...|, ya que, al
+contrario que las órdenes |\refname|, |\abstractname|, etc., se pueden
+redefinir cuando se desee y entran en acción al momento y de forma
+permanente, sin necesidad de |\addto|.
+
+\begin{table}
+\center\small
+\newcommand\name[2]{%
+\texttt{\textbackslash#1name}&%
+\texttt{\textbackslash spanish#1name}&}
+\caption{Traducciones}
+\vspace{1.5ex}
+\begin{tabular}{l@{\hspace{3em}}l@{\hspace{3em}}l}
+\toprule3
+\name{ref} & Referencias\\
+\name{abstract} & Resumen\\
+\name{bib} & Bibliografía\\
+\name{chapter} & Capítulo\\
+\name{appendix} & Apéndice\\
+\name{contents} & índice general\nm{a}\\
+\name{listfigure} & índice de figuras\\
+\name{listtable} & índice de cuadros\\
+\name{index} & índice alfabético\\
+\name{figure} & Figura\\
+\name{table} & Cuadro\\
+\name{part} & Parte\\
+\name{encl} & Adjunto\\
+\name{cc} & Copia a\\
+\name{headto} & A\\
+\name{page} & página\\
+\name{see} & véase\\
+\name{also} & véase también\\
+\name{proof} & Demostración
+\botrule3
+\end{tabular}
+
+\vspace{1.5ex}
+
+\begin{minipage}{10cm}\footnotesize
+\nt{a} Pero solo <<índice>> en \textsf{article}.
+\end{minipage}
+\end{table}
+
+\begin{decl}
+\con |es-uppernames|\opp
+\end{decl}
+
+Aunque sea un anglicismo,\footnote{\DOT{197}.} con esta opción de
+paquete los sustantivos tienen mayúscula inicial.
+
+\begin{decl}
+\con |es-tabla|\opp
+\end{decl}
+
+En caso de que todos los cuadros sean tablas, esta opción permite
+cambiar \textit{cuadro} por \textit{tabla} (en cierto modo,
+\textit{cuadro} es a \textit{tabla} lo que \texttt{table} es a
+\texttt{tabular}).
+
+\subsection{Fechas}
+
+\begin{decl}
+\txt |\today \Today|
+\act{date}
+\end{decl}
+
+Fecha actual, en la forma \textit{1 de enero de 2004.} Con |\Today| el
+mes va en mayúscula. Estas macros se definen a su vez con las siguientes.
+
+\begin{decl}
+\txt |\spanishdate|\marg{año}\marg{mes}\marg{día}
+ | \spanishDate|\marg{año}\marg{mes}\marg{día}\alw
+\end{decl}
+
+El orden de los datos es el de la ISO. Así, |\today| es lo mismo que
+|\spanishdate{\year}{\month}{\day}|. Solo maneja bien (de momento) los
+años de nuestra era.
+
+\begin{decl}
+\con |\spanishdatedel \spanishdatede|
+\end{decl}
+
+Con la primera se cambia el formato para que a partir del 2000 se
+emplee \textit{del} y no \textit{de} (recomendado). La segunda hace
+justo lo contrario (predeterminado).
+
+\begin{decl}
+\con |\spanishreverseddate|
+\end{decl}
+
+Cambia el formato de |\today| a la forma \textit{enero 1 del 2004.}
+Con |\Today| el mes va en mayúscula.
+
+\begin{decl}
+\con |\spanishdatefirst|\marg{día-uno}
+\end{decl}
+
+Establece el formato del primer día. Por defecto es \textit{1}, pero
+se puede cambiar a \textit{1.º}, por ejemplo.
+
+\section{Abreviaciones (\textit{shorthands})}
+
+La lista completa se puede encontrar en el cuadro 2. En los
+siguientes apartados sedarán más detalles sobre algunas de ellas.
+
+\begin{table}[!t]
+\center\small
+\caption{Abreviaciones}
+\vspace{1.5ex}
+\begin{tabular}{l@{\hspace{3em}}l@{\hspace{3em}}l}
+\toprule2
+|á é í ó ú| & á é í ó ú\\
+|á é í ó ú| & á é í ó ú\\
+|ñ ñ| & ñ ñ\nm{a}\\
+|"u "U| & "u "U\\
+|"i "I| & "i "I\\
+|"a "A "o "O| & Ordinales: 1"a, 1"A, 1"o, 1"O\\
+|"er "ER| & Ordinales: 1"er, 1"ER\\
+|"c "C| & "c "C\\
+|"rr "RR| & rr, pero -r cuando se divide\\
+|"y| & El antiguo signo para <<y>>\\
+|"-| & Como |\-|, pero permite más divisiones\\
+|"=| & Como |-|, pero permite mas divisiones\nm{b}\\
+|"~| & Guión estilístico\nm{c}\\
+|"+ "+- "+--| & Como |-|, |--| y |---|, pero sin división\\
+|~- ~-- ~---| & Lo mismo que el anterior.\\
+|""| & Permite mas divisiones antes y después\nm{d}\\
+|"/| & Una barra algo más baja\\
+\verb+"|+ & Divide un logotipo\nm{e}\\
+|"< ">| & "< ">\\
+|"` "'| & |\begin{quoting}| |\end{quoting}|\nm{f}\\
+|<< >>| & Lo mismo que el anterior.\\
+|?` !`| & ?` !`\nm{g}\\
+|"? "!| & "? "! alineados con la linea base\nm{h}
+\botrule2
+\end{tabular}
+
+\vspace{1.5ex}
+
+\begin{minipage}{11cm}
+\footnotesize
+\nt{a} La forma |~n| no está activada por omisión a partir de
+la versión 5.
+\nt{b} |"=| es lo mismo que |""-""|.
+\nt{c} Esta abreviación tiene un uso distinto en otras lenguas
+de babel.
+\nt{d} Como en <<entrada/salida>>.
+\nt{e} Carece de uso en castellano.
+\nt{f} Véase sec.~2.7.
+\nt{g} No proporcionadas por este paquete, sino por cada tipo;
+figuran aquí como simple recordatorio.
+\nt{h} útiles en rótulos en mayúsculas.
+\end{minipage}
+\end{table}
+
+Los caracteres usados como abreviaciones se comportan como otras
+órdenes de \TeX{} y por tanto se hace caso omiso de los espacios que
+les puedan seguir: \verb*|' a| es lo mismo que |á|. Eso también implica
+que tras esos caracteres no puede ir una llave de cierre y que deberá
+escribirse |{... '{}}| en lugar de |{... '}|; en modo matemático no
+hay ningún problema y |$x^{a'}$| ($x^{a'}$) es válido.
+
+\begin{decl}
+\con |activeacute|\opp
+\end{decl}
+
+Para poder usar apóstrofos como abreviaciones de acentos es necesaria
+esta opción en |\usepackage|. Puede cambiarse este comportamiento con
+|\es@acuteactive| en el archivo de configuración |spanish.cfg|; en ese
+caso los apóstrofos se activan siempre.
+
+\begin{decl}
+\con |es-tilden|\opp
+\end{decl}
+
+Esta orden activa las abreviaciones |~n| y |~N| por compatibilidad con
+versiones anteriores de \textsf{spanish} (y siempre que no se emplee
+también |es-notilde|). En la versión 5 no están activadas de forma
+predeterminada.
+
+\begin{decl}
+\con |\spanishdeactivate|\marg{caracteres}
+\end{decl}
+
+Permite desactivar las abreviaciones correspondientes a los caracteres
+dados. Para evitar entrar en conflicto con otras lenguas, al salir de
+\textsf{spanish} se reactivan,\footnote{El punto para los decimales no
+es estrictamente una abreviación y no se reactiva.} por lo que si se
+desea que persistan hay que añadir la orden a |\shorthandsspanish| con
+|\addto|. La orden |\renewcommand\shorthandsspanish{}| es una variante
+optimizada de
+\begin{verbatim}
+\addto\shorthandsspanish{\spanishdeactivate{.'"~<>}}
+\end{verbatim}
+
+\begin{decl}
+\con |es-noshorthands|\opp
+\end{decl}
+
+No activa ninguna abreviación.
+
+\subsection{Coma decimal}
+
+\begin{decl}
+\txt |.|\textit{número}\act{shorthands}\deact{es-nodecimaldot,
+\textit{es-noshorthands, es-minimal, es-sloppy}}
+\end{decl}
+
+En \textsf{spanish}, el punto en matemáticas sirve como marca decimal
+genérica que puede representarse como coma o punto; funciona por tanto
+como marcado lógico del signo para decimales. Por omisión, se siguen
+las normas internacionales ISO y la legislación de diversos países
+(como de España y México), tal como eran hasta el 2009, de emplear la
+coma; desde el año 2010 las Academias de la Lengua recomiendan el
+punto. Ya que \TeX\ usa la coma como separador en intervalos o
+expresiones similares, lo que añade un espacio fino, \textsf{spanish}
+interpreta todo punto en modo matemático de esta forma siempre que
+esté seguido de una cifra, pero no en otras circunstancias:
+\begin{quote}\small\begin{tabbing}
+|$1\,234.567\,890$| \quad \= $1\,234.567\,890$\\
+|$f(1,2)=12.34.$| \> $f(1,2)=12.34.$\\
+|$1{.}000$| \> $1{.}000$, pero\\
+|1.000| \> 1.000, pues no es modo matemático.
+\end{tabbing}\end{quote}
+
+\begin{decl}
+\con |\decimalcomma \decimalpoint \spanishdecimal|\marg{math}
+\end{decl}
+
+Las dos primeras establecen si se usa una coma (predeterminado) o un
+punto, mientras que |\spanishdecimal|\marg{math} permite darle una
+definición arbitraria.
+
+\begin{decl}
+\con |es-nodecimaldot|\opp
+\end{decl}
+
+Cancela el mecanismo del punto decimal.
+
+\subsection{División de palabras}
+
+\textsf{Spanish} comprueba la codificación en el momento en que se
+usa un acento: si es |OT1|, se toman medidas para facilitar la
+división (que pese a todo nunca será perfecta), y si es |T1|,
+se accede directamente al carácter correspondiente.
+
+\begin{decl}
+\txt |"- "= "~|\act{shorthands}
+\deact{\textit{es-noshorthands, es-sloppy}}
+\end{decl}
+
+Para matizar la división de palabras hay cuatro posibilidades, dos de
+ellas con el método de abreviaciones:
+\begin{itemize}
+\item |\-| es un guión opcional que no permite más divisiones,
+\item |"-| es similar pero permite más divisiones,
+\item |-| es un guión que no permite más divisiones ni antes ni
+ después, y
+\item |"=| es el equivalente que sí las permite.\footnote{No es una
+ buena idea usar esta orden, pero en medidas muy cortas puede
+ resultar necesario.}
+\end{itemize}
+Por ejemplo (con las posibles divisiones marcadas con \hmk):
+\begin{quote}\small\begin{tabbing}
+|Zaragoza-Barcelona|\qquad \= Zaragoza-\hmk Barcelona\\
+|Zaragoza"=Barcelona| \>
+ Za\hmk ra\hmk go\hmk za-\hmk Bar\hmk ce\hmk lo\hmk na\\
+|semi\-abierto| \> semi\hmk abierto\\
+|semi"-abierto| \> se\hmk mi\hmk abier\hmk to.\footnotemark
+\end{tabbing}\footnotetext{Justo antes y después de
+{\ttfamily\string"\string-} y {\ttfamily\string"\string=} se aplican
+los correspondientes valores de {\ttfamily\string\...hyphenmin} lo que
+implica que la divisón semia\hmk bierto no es posible. Este es un
+comportamiento correcto.}
+\end{quote}
+
+Con la abreviación |"~|, el guión también aparece al comienzo de la
+siguiente línea. Por ejemplo:
+\begin{quote}\small\begin{tabbing}
+|infra"~rojo| \quad \= in\hmk fra-ro\hmk jo, pero infra-\hmk-rojo.
+\end{tabbing}\end{quote}
+
+\begin{decl}
+\txt |"+ "+- "+--|\act{shorthands}\deact{\emph{no-shorthands,
+es-sloppy}}
+\end{decl}
+\vskip-1.5pc\vskip0pt
+\begin{decl}
+\txt |~- ~-- ~---|\act{shorthands}\deact{es-notilde, \emph{no-shorthands,
+es-minimal, es-sloppy}}
+\end{decl}
+
+Evitan divisiones: |~-|, que resulta útil para expresar una serie de
+números sin que el guión los divida (12~-14, |12~-14|), y |~---|, que
+es la forma que debe usarse para abrir incisos con rayas, ya que de lo
+contrario puede haber una división entre la raya de abrir y la palabra
+que le sigue:
+\begin{quote}\small\begin{tabbing}
+|Los conciertos ~---o % academias--- que organizó...|
+\end{tabbing}\end{quote}
+
+También pueden emplearse para esta misma función las abreviaciones
+|"+|, |"+-| y |"+---|. Mientras que este guión evita toda posible
+división en los elementos que une, la raya (---) y la semirraya (--)
+las permiten en las palabras que le precedan o le sigan.
+
+Otra abreviación es |"rr| que sirve para el único cambio de escritura
+que ha tenido algo de uso en una división. La {RAE} indica que al
+añadir un prefijo que termina en vocal a una palabra que comienza con
+\emph{r}, esta última debe doblarse a menos que se unan por un
+guión. Por ejemplo:
+\begin{quote}\small\begin{tabbing}
+|extra"rradio| \quad \= ex\hmk trarra\hmk dio, pero extra-\hmk
+ radio.
+\end{tabbing}\end{quote}
+Actualmente, este cambio se suele rechazar y la {RAE} no lo
+considera.
+
+\subsection{Otros}
+
+\begin{decl}
+\txt |"/|\act{shorthands}\deact{\textit{es-noshorthands, es-sloppy}}
+\end{decl}
+
+Es una utilidad tipográfica más que específicamente española. En
+ciertos tipos, como Times, el extremo inferior de la barra está en la
+línea de base y expresiones como <<am/pm>> resultan poco estéticas.
+|"/| produce una barra que, de ser necesario, se baja ligeramente.
+Computer Modern tiene una barra bien diseñada y no es posible ilustrar
+aquí este punto, pero se escribiría |am"/pm|.
+
+\begin{decl}
+\txt |"y|\act{shorthand}\deact{\textit{es-noshorthands, es-sloppy}}
+\end{decl}
+
+El signo \textit{et tironiano}, que en español se empleó muy a menudo,
+se puede <<imitar>> con |"y|, siempre que se haya cargado el paquete
+|graphics|; de no ser así, se usa la letra $\tau$, aunque la variante
+normal de \TeX{} no es demasiado apropiada.
+
+\section{Funciones de texto y matemáticas}
+
+\subsection{Abreviaturas}
+
+\begin{decl}
+\txt |\sptext|\marg{texto}\act{text}\deact{\textit{es-sloppy}}
+\end{decl}
+
+Pone un punto y le sigue el argumento en voladitas. Para abreviaturas
+como |adm\sptext{ón}| que da adm\sptext{ón}. Hay seis abreviaciones
+asociadas a ordinales: |"a|, |"A|, |"o|, |"O|, |"er| y |"ER| que
+equivalen a |\sptext{a}|, etc. Muchos tipos añaden un pequeño
+subrayado que debe evitarse, y por tanto no se deben escribir los
+ordinales con \textsf{inputenc} (a menos que se esté seguro de que el
+resultado es el que se busca).
+
+Para ajustar el tamaño lo mejor posible, se usa el de índices en
+curso. Esto funciona bien salvo para tamaños muy grandes o muy
+pequeños, donde los resultados son meramente aceptables.
+
+En Plain \TeX{} se ejecuta |\sptextfont| para la letra voladita, de
+forma que |{\bf\let\sptextfont\bf 1"o}| da el resultado correcto
+(|\mit| si es para cursiva). Para usar un tipo nuevo con |\sptext| hay
+que definir también las variantes matemáticas con |\newfam|.
+
+\subsection{Espaciado}
+
+El espaciado español difiere relativamente poco del inglés, con alguna
+excepción; una de ellas es que en \textsf{spanish} |\frenchspacing|
+está activo.
+
+\begin{decl}
+\txt |\...|\act{text}\deact{\textit{es-sloppy}}
+\end{decl}
+
+Puntos suspensivos menos espaciados que |\dots|. El espacio que sigue
+se conserva:
+\begin{quote}\small\begin{tabbing}
+|\... y solo estaba\... ella.|\quad\=\... y solo estaba\... ella.
+\end{tabbing}\end{quote}
+También podrían escribirse los tres puntos sin más |...|, y en la
+práctica no hay diferencia, a menos que se cambie el valor del espacio
+tras punto; en ese caso, la forma con barra da los valores apropiados
+\emph{dentro} de una sentencia, y los tres puntos \emph{al final} de
+ella. Esta orden no interfiere con el valor original de |\.| (un punto
+suprascrito).
+
+\begin{decl}
+\txt |\%|\act{text}\deact{\textit{es-minimal, es-sloppy}}
+\end{decl}
+
+Se añade un espacio fino antes del signo (en concreto |\,|), con lo
+cual se puede "<recuperar"> con su opuesto |\!| si |\%| no sigue a una
+cifra; también se puede emplear |\percentsign|).
+
+\begin{decl}
+\con |\spanishplainpercent|
+\end{decl}
+
+Orden para que |\%| no añada el espacio fino. Puede ser útil en
+cuadros, si |\%| aparece siempre entre paréntesis.
+
+\subsection{Fuentes}
+
+\begin{decl}
+\txt |\lsc|\marg{texto}\act{text}\deact{\textit{es-sloppy}}
+\end{decl}
+
+Pasa \textit{texto} a versalitas:
+\begin{quote}\small\begin{tabbing}
+|\lsc{RAE}| \quad \= \lsc{RAE}\\
+|\lsc{ReNFe}| \quad \= \lsc{ReNFe}.\\
+|siglo \lsc{XVII}| \quad \= siglo \lsc{XVII}\\
+|capítulo \lsc{II}| \quad \= capítulo \lsc{II}.
+\end{tabbing}\end{quote}
+
+Para evitar que con un tipo que carece de versalitas acabe apareciendo
+(por substitución) un texto de minúsculas se intenta usar en estos
+casos las versales \emph{reales} de un tamaño menor (\LaTeX\ tiende a
+sustituir versalitas por versalitas, pero hay excepciones, como con
+las negritas).
+
+\begin{decl}
+\txt |\'{i}|\alw
+\end{decl}
+
+Lo mismo que |\'{\i}|.
+
+\subsection{Entrecomillados}
+
+\begin{decl}
+\txt |\begin{quoting} ... \end{quoting}|\alw
+\end{decl}
+
+El entorno |quoting| entrecomilla un texto, añadiendo comillas de
+seguir al comienzo de cada párrafo en su interior.\footnote{Se puede
+encontrar una detallada exposición de las comillas en \DTL{44 ss.} De
+ahí se ha tomado algún ejemplo.}
+
+\begin{decl}
+\txt |<< >>|\act{shorthands}\deact{es-noquoting,
+ \textit{es-noshorthands, es-minimal, es-sloppy}}
+\end{decl}
+\vskip-1.5pc\vskip0pt
+\begin{decl}
+\txt |"` "'|\act{shorthands}\deact{\textit{es-noshorthands, es-sloppy}}
+\end{decl}
+
+También se pueden emplear las abreviaciones |<<| y |>>| (o
+alternativamente |"`| y |"'|) que se limitan a llamar a |quoting|, que
+por ser entorno considera sus cambios internos como locales. (Es
+decir, |<< ... >>| implica |{<< ... >>}|.) Las abreviaciones |"<| y
+|">| continúan dando sin más los caracteres de comillas de abrir y
+cerrar, respectivamente.
+
+Por ejemplo:
+\begin{verbatim}
+<<Se llaman <<comillas de seguir>> a las que son de cierre,
+pero se colocan al comienzo de cada párrafo cuando se transcribe
+un texto entrecomillado con más de un párrafo.
+
+En su interior, como de costumbre, se usan inglesas.>>
+\end{verbatim}
+cuyo resultado es:
+\begin{quotation}\small
+<<Se llaman <<comillas de seguir>> a las que son de cierre,
+pero se colocan al comienzo de cada párrafo cuando se transcribe
+un texto entrecomillado con más de un párrafo.
+
+En su interior, como de costumbre, se usan inglesas.>>
+\end{quotation}
+
+También se añaden comillas de seguir en listas, excepto con la opción
+\texttt{es-nolists} o cualquier otra que las desactive.
+
+Este entorno se puede redefinir, como por ejemplo:
+\begin{verbatim}
+\renewenvironment{quoting}{\itshape}{}
+\end{verbatim}
+pero en principio no implica un nuevo párrafo, ya que está pensado
+para ser usado también en el texto.
+
+\begin{decl}
+\con |\lquoti| |\rquoti| |\lquotii| |\rquotii| |\lquotiii|
+|\rquotiii|
+\end{decl}
+
+Controlan las comillas en |quoting|, según el nivel en que nos
+encontremos. |\lquoti| son las comillas de abrir más exteriores,
+|\lquotii| las de segundo nivel, etc., y lo mismo para las de cerrar
+con |\rquoti|... Para las de seguir siempre se usan las de cerrar. Los
+valores predefinidos están en el cuadro 3.
+\begin{table}
+\center\small
+\caption{Entrecomillados}
+\vspace{1.5ex}
+\begin{tabular}{l@{\hspace{5em}}l}
+\toprule2
+|\lquoti| &|"<|\\
+|\rquoti| &|">|\\
+|\lquotii| &|``|\\
+|\rquotii| &|''|\\
+|\lquotiii| &|`|\\
+|\rquotiii| &|'|
+\botrule2
+\end{tabular}
+\end{table}
+
+\begin{decl}
+\con |\activatequoting \deactivatequoting|
+\end{decl}
+
+Las incompatibilidades potenciales de estas abreviaciones son
+enormes. Por ejemplo, en \textsf{ifthen} se cancelan las comparaciones
+entre números;\,\footnote{Y en \texttt{\textbackslash ifnum},
+\texttt{\textbackslash ifdim}, etc., usado por los desarrolladores en
+los paquetes.} también resultan inoperantes |@>>>| y |@<<<| de
+\textsf{amstex}.\footnote{Aunque en este caso cabe usar los sinónimos
+|@)))| y |@(((|.} Por ello, se da la posibilidad de cancelarlas y
+reactivarlas con estas órdenes, aunque si se está usando
+\textsf{xmltex} ya se desactivan por completo de forma automática. El
+entorno |quoting| siempre permanece disponible.\footnote{Algunos tipos
+disponen de esta ligadura de forma interna para generar los caracteres
+de comillas, por lo que en ellos también podemos usarlos siempre,
+aunque los ajustes proporcionados por \textsf{spanish} se pueden
+perder; por otra parte, tampoco se usan demasiado a menudo.}
+
+\subsection{Funciones matemáticas}
+
+\begin{decl}
+\txt |\lim \limsup \liminf \bmod \pmod \sen \tg|
+etc.\act{math}\deact{\textit{es-minimal, es-sloppy}}
+\end{decl}
+
+Tradicionalmente, las abreviaciones de lo que en \TeX\ se conocen como
+operadores se han formado a partir del nombre castellano, lo que
+implica la presencia del acento en lím (en sus tres formas |\lim|,
+|\limsup| y |\liminf|), máx, mín, ínf y mód (en sus dos formas |\bmod|
+y |\pmod|).
+
+Con \textsf{spanish} pueden seguirse varias convenciones con ayuda de
+las siguientes órdenes:
+\begin{decl} \con |\accentedoperators| |\unaccentedoperators|
+\end{decl}
+Activa o desactiva los acentos. Por omisión se acentúan, como por
+ejemplo: $\lim_{x\to 0}(1/x)$ (|$\lim_{x\to 0}(1/x)$|).
+
+\begin{decl}
+\con |\spacedoperators| |\unspacedoperators|
+\end{decl}
+Activa o desactiva el espacio entre "<arc"> y la función. Lo habitual
+ha sido con espacio; así pues, por omisión se espacia.
+
+También se añaden |\sen|, |\arcsen|, |\tg| y |\arctg|, que dan las
+funciones respectivas.
+\begin{decl}
+\con |\spanishoperators|
+\end{decl}
+
+Otras funciones trigonométricas se encuentran almacenadas en el
+parámetro |\spanishoperators|, que inicialmente incluye cotg, cosec,
+senh y tgh. Estas funciones se han separado porque su forma no está
+normalizada en el ámbito hispanohablante. De esta forma se puede
+cambiar por otras con, por ejemplo:
+\begin{verbatim}
+\renewcommand{\spanishoperators}{ctg arc\,ctg sh ch th}
+\end{verbatim}
+(separadas con espacio). Cuando se selecciona \textsf{spanish} se
+crean órdenes con esos nombres y que dan esas funciones (siempre con
+|\nolimits|). Además de las letras sin acentuar se aceptan las órdenes
+|\,| y |\acute|, que se pasan por alto para formar el nombre. Por
+ejemplo, |arc\,ctg| se escribe en el documento con |\arcctg|,
+|M\acute{a}x| como |\Max| y |cr\acute{i}t| como |\crit| (hay que usar
+|i| y no |\dotlessi|). La orden |\,| responde a
+|\|(|un|)|spacedoperators|, y |\acute| a |\|(|un|)|accentedoperators|.
+
+Conviene que |\spanishoperators| esté en el preámbulo del documento en
+sí, antes de |\selectspanish| o de |\begin{document}|.
+
+\begin{decl}
+\txt |\dotlessi|\act{math}\deact{\textit{es-sloppy}}
+\end{decl}
+
+La \textit{i} sin punto también es accesible directamente en modo
+matemático con |\dotlessi|, de forma que se puede escribir
+|\acute{\dotlessi}|. Por ejemplo,
+|$V_{\mathbf{cr\acute{\dotlessi}t}}$| da
+$V_{\mathbf{cr\acute{\dotlessi}t}}$.
+
+De momento no funciona con luatex ni xetex, por lo que en estos
+sistemas hay que desactivar la acentuación (donde se usa |\dotlessi|)
+o reajustar las definiciones matemáticas.
+
+\section{Opciones generales}
+
+Están pensadas principalmente para documentos basados en una clase
+o un estilo editorial muy preciso que no debe tocarse. Para conocer
+los cambios exactos, véanse las diferentes entradas que describen
+las funciones de \textsf{spanish}.
+
+\begin{decl}
+\con |es-minimal|\opp
+\end{decl}
+
+Anula la mayoría de los cambios pero deja unas cuantas utilidades que
+pueden resultar utiles en el momento de escribir el texto.
+
+\begin{decl}
+\con |es-sloppy|\opp
+\end{decl}
+
+Anula, además, todas las ligaduras sin excepción, la eñe en listas y
+los grupos \textsf{text} y \textsf{math}.
+
+\section{Selección}
+
+\begin{decl}
+|\selectspanish|
+\end{decl}
+
+Por omisión, \babel{} deja <<dormidas>> las lenguas hasta que se llega
+a |\begin{document}| con el fin de evitar conflictos por las
+abreviaciones; a cambio, se priva de la posibilidad de usar las
+lenguas en el preámbulo en órdenes como |\savebox|, |\title|,
+|\newtheorem|, etc.
+
+La orden |\selectspanish| permite activar \textsf{spanish} con sus
+extensiones y abreviaciones antes de
+|\begin{document}|.\footnote{Algunos detalles, que apenas afectan a
+\textsf{spanish}, siguen sin activarse hasta el comienzo del
+documento.} De esta forma, podríamos decir
+\begin{verbatim}
+\documentclass{book}
+\usepackage[T1]{fontenc}
+\usepackage[cp1252]{inputenc}
+\usepackage[spanish,activeacute,es-notilde]{babel}
+... % Mas paquetes
+
+\selectspanish
+
+\title{Título}
+\author{Autor}
+\newcommand{\pste}{para"-psicológicamente}
+... % Mas definiciones
+
+\begin{document}
+\end{verbatim}
+
+\section{Adaptación}
+
+\subsection{Opciones por países}
+\label{paises}
+
+\begin{decl} \con |mexico| \quad |mexico-com|\end{decl}
+
+La primera cambia \textit{cuadro} a \textit{tabla} y desactiva tanto
+|<||<>||>| como el punto decimal. También cambia |"`| y |"'| a
+``\,`\,"<\,">\,'\,''. Es decir, aparte de redefinir las comillas, equivale a:
+\begin{verbatim}
+\usepackage[spanish,es-nodecimaldot,es-tabla,es-noquoting]{spanish}
+\end{verbatim}
+La segunda es similar pero sí activa el punto decimal. (Obsérvese que
+no van precedidas de |es-|.)
+
+Probablemente, esta opción también sea apropiada en algunos países de
+América Central y del Sur.
+
+\subsection{Configuración}
+
+En sus últimas versiones, \babel{} ofrece la posibilidad de cargar
+automáticamente un archivo con el mismo nombre que el principal, pero
+con extensión |.cfg|. Aunque se desaconseja su uso, \textsf{spanish}
+proporciona unas pocas órdenes para ser usadas en este archivo.
+
+\begin{decl}
+\con |\es@activeacute|
+\end{decl}
+Activa las abreviaciones con apóstrofos, sin que sea necesario incluir
+|activeacute| como opción en |\usepackage|.
+
+\begin{decl} \con |\es@enumerate{<leveli>}|%
+ |{<levelii>}{<leveliii>}{<leveliv>}|\alw
+\end{decl}
+Cambia los valores preestablecidos por \textsf{spanish} para
+|enumerate|. \textit{leveln} consiste en una letra, que indica qué
+formato tendrá el número, seguida de cualquier texto. La letra tiene
+que ser: |1| (arábigo), |a| (minúscula \emph{cursiva}\,\footnote{La
+letra es cursiva pero no los signos que le puedan seguir. Más bien
+debería decirse destacada, ya que se usa |\string\emph|. Véase
+\DTL{11}.}), |A| (versal), |i| (romano \emph{versalita}), |I| (romano
+versal) o finalmente |o| (ordinal\,\footnote{Lo normal es no añadir
+ningún signo tras ordinal.}).
+
+Esta orden no está pensada para hacer cambios elaborados, sino
+solo meros reajustes. Los valores preestablecidos
+equivalen a
+\begin{verbatim}
+\es@enumerate{1.}{a)}{1)}{a$'$)}
+\end{verbatim}
+
+\begin{decl} \con |\es@itemize{<leveli>}|%
+ |{<levelii>}{<leveliii>}{<leveliv>}|\alw
+\end{decl}
+Lo mismo para |itemize|, solo que los argumentos se usan de forma
+literal. Los valores originales de \LaTeX{} son similares a
+\begin{verbatim}
+\es@itemize{\textbullet}{\normalfont\bfseries\textendash}
+ {\textasteriskcentered}{\textperiodcentered}
+\end{verbatim}
+
+\begin{decl}\con |\es@operators|\act{math}
+\end{decl}
+Todo lo relativo a operadores se cancela con
+\begin{verbatim}
+\let\es@operators\relax
+\end{verbatim}
+
+Otros ajustes útiles en este contexto son |\spanishoperators|,
+|\selectspanish| y |\deactivatequoting|.
+
+Recordemos que todos los cambios operados desde este archivo restan
+compatibilidad al documento, por lo que si se distribuye conviene
+adjuntarlo con el entorno |filecontents|.
+
+\subsection{Pasar opciones desde un paquete o clase}
+
+\begin{decl} \con |\spanishoptions|
+\end{decl}
+
+Como |\PassOptionsToPackage| añade opciones al comienzo y las opciones
+específicas de \textsf{spanish} han de ir al final, definiendo esta
+macro se puede controlar el comportamiento de \textsf{spanish} antes
+de su carga.
+
+\subsection{Otros cambios}
+
+Las adaptaciones se encuentran organizadas en varios grupos, a los
+que corresponden sendas macros:
+|\textspanish|, |\mathspanish|,
+|\shorthandsspanish|, |\datespanish| y |\captionsspanish|. Pueden
+cancelarse con:
+\begin{verbatim}
+ \renewcommand\textspanish{}
+\end{verbatim}
+
+\section{Plain \TeX}
+
+Con Plain hay que hacer:
+\begin{verbatim}
+\input spanish.sty
+\end{verbatim}
+
+Se incluyen: traducciones, casi todas las abreviaciones, coma decimal,
+utilidades para división de palabras, ordinales en una versión
+simplificada (y no muy elegante), funciones matemáticas, |\í| y
+espaciado. La selección de la lengua es inmediata al cargar el
+archivo.
+
+En cambio no están disponibles: entrecomillados, |\lsc| ni las
+adaptaciones de lengua principal.
+
+\section{Compatibilidad con versiones anteriores}
+
+En versiones de \textsf{babel} bastante antiguas, las abreviaciones
+con |'| se activaban por omisión, mientras que ahora es necesario
+|activeacute|.
+
+En la versión 4, la abreviación |~n| se consideró para extinguir.
+En la versión 5 sigue disponible, pero \textit{no} se activa por
+omisión, sino que hay que emplear |es-tilden|.
+
+En la versión 5 el grupo \textsf{layout} no se retrasa a
+|\begin{document}|, como en la 4, sino que se ejecuta
+inmediatamente. Esto permite cambios en el preámbulo con otros
+paquetes. Con ello, además, |\selectspanish*| carece de utilidad. La
+opción de paquete |es-delayed| restaura el comportamiento anterior,
+por si hubiera alguna incompatibilidad.
+
+La compatibilidad con la versión 2.09 de \LaTeX{} se ha suprimido.
+
+\section*{Referencias}
+\addcontentsline{toc}{section}{Referencias}
+
+\begingroup
+\small
+\leftskip1.5cm \parindent-1.5cm
+
+\makebox[1.5cm][l]{\lsc{DRAE}}\textit{Diccionario de la Academia
+ Española}, Madrid, Espasa-Calpe, 21"a ed., 1992.
+
+\makebox[1.5cm][l]{\lsc{DOT}}José Martínez de Sousa,
+ \textit{Diccionario de ortografía técnica},
+ Madrid, Germán Sánchez Ruipérez/Pirámide, 1987.
+ (Biblioteca del libro.)
+
+\makebox[1.5cm][l]{\lsc{DTL}}José Martínez de Sousa,
+ \textit{Diccionario de tipografía y del libro},
+ Madrid, Paraninfo, 3"a ed., 1992.
+
+\makebox[1.5cm][l]{\lsc{MEA}}José Martínez de Sousa,
+ \textit{Manual de edición y autoedición},
+ Madrid, Pirámide, 1994.
+
+\leftskip0pt \parindent0pt \vspace{6pt}
+
+{\itshape
+Para otras cuestiones tipográficas, las referencias
+usadas son, entre otras:}
+
+\parindent-1.5pc \leftskip1.5pc \vspace{3pt}
+
+Asociación de Academias de la Lengua Española,
+\textit{Diccionario panhispánico de dudas}, Madrid, Santillana, 2005.
+
+Javier Bezos,
+\textit{Tipografía española con \TeX}, documento electrónico
+disponible en
+\textsf{http://perso.wanadoo.es/jbezos/tipografia.html}.
+
+Javier Bezos,
+\textit{Tipografía y notaciones científicas}, Gijón,
+Trea, 2008.
+
+Bureau International des Poids et mesures,
+\textit{Le Sist\`{e}me international dúnités},
+8"a ed., París, {\footnotesize BIPM}, 2006,
+\textsf{http://www.bipm.org/""fr/""si/""si\_brochure/}, 2006-11-10.
+
+Jorge de Buen,
+\textit{Manual de diseño editorial,} México, Santillana, 2000.
+
+\textit{The Chicago Manual of Style}, Chicago, University of
+Chicago Press, 14"a~ed., 1993, esp.~págs.~333~-335.
+
+José Fernández Castillo,
+\textit{Normas para correctores y compositores tipógrafos},
+Madrid, Espasa-Calpe, 1959.
+
+IRANOR [AENOR], Normas \lsc{UNE} números 5010 (<<Signos
+matemáticos>>), 5028 (<<Símbolos
+geométricos>>) y 5029 (<<Impresión de los
+símbolos de magnitudes y unidades y de los números>>).
+[Obsoletas.]
+
+Llerena, Mario,
+\textit{Un manual de estilo,} Miami, Unilit, 1999.
+
+Real Academia Española,
+\textit{Esbozo de una nueva gramática de la
+lengua española}, Madrid, Espasa-Calpe, 1973.
+
+V.\ Martínez Sicluna,
+\textit{Teoría y práctica de la tipografía},
+Barcelona, Gustavo Gili, 1945.
+
+José Martínez de Sousa,
+\textit{Diccionario de ortografía de la lengua española},
+Madrid, Paraninfo, 1996.
+
+Juan Martínez Val, \textit{Tipografía práctica}, Madrid,
+Laberinto, 2002.
+
+Juan José Morato, \textit{Guía práctica del compositor
+tipográfico}, Madrid, Hernando, 2"a ed., 1908 (1"a ed., 1900,
+3"a ed., 1933).
+
+Marion Neubauer,
+<<Feinheiten bei wissenschaftlichen Publikationen>>,
+\textit{Die \TeX nisches Kom\"odie}, parte I, vol. 8, n"o 4, 1996,
+págs. 23-40; parte II, vol. 9, n"o 1, 1997, págs.~25~-44.
+
+Notimex, \textit{Manual de operación y estilo editorial}, México,
+Notimex, 1999.
+
+José Polo,
+\textit{Ortografía y ciencia del lenguaje}, Madrid, Paraninfo,
+1974.
+
+Siglo 21, \textit{Libro de estilo}, México, Alda,
+$\mathrm{^s}\!$/$\mathrm{_f}$
+(impr. 1995).
+
+Pedro Valle,
+\textit{Cómo corregir sin ofender}, Buenos Aires, Lumen, 1998.
+
+Hugh C. Wolfe, <<Símbolos, unidades y nomenclatura>>,
+\textit{Enciclopedia de Física}, dir. Rita G. Lerner y George L.
+Trigg, Madrid, Alianza, 1987, t.~2, págs.~1423~-1451.
+
+\endgroup
+
+\part*{English Summary}
+
+\section{The Spanish language}
+
+The file \file{spanish.dtx}\footnote{The file described in this
+section has version number 5.0p and was last revised on 2016-03-03.
+The maintainer from v4.0 on is Javier Bezos
+(http://www.tex-tipografia.com). Previous versions were made by Julio
+S\'anchez. The English documentation has been improved by José Luis
+Rivera; thanks to him it is now a lot clearer.} defines all the
+language-specific macros for the Spanish language.
+
+Spanish support is implemented following mainly the guidelines given
+by Jos\'e Mart\'\i nez de Sousa. There are examples and some
+additional features documented in the Spanish version only.
+Cross-references in this section point to that document.
+
+\paragraph{Features} This style provides:
+
+\begin{itemize}
+\item Translations following the International \LaTeX{} conventions,
+ as well as |\today|.
+\item Shorthands listed in Table~\ref{tab:spanish-quote-def}.
+ Examples in subsection~3.4 are illustrative. Notice that |"~| has a
+ special meaning in \textsf{spanish} different to other languages,
+ and is used mainly in linguistic contexts.
+\begin{table}[htb]
+\centering
+\begin{tabular}{lp{8cm}}
+|'a| & Acute accented a. Works for e, i, o, u, too (both
+ lowercase and uppercase).\\
+|'n| & \~n (uppercase too).\\
+|"i| & \"i (uppercase too).\\
+|"u| & \"u (uppercase too).\\
+|"a| |"o| & Ordinal numbers (uppercase |"A|, |"O| too).\\
+|"er "ER| & Ordinal 1.\textsuperscript{er} 1.\textsuperscript{\textsc{er}}\\
+|"c| & \c{c} (uppercase too).\\
+|"rr| & rr, but -r when hyphenated.\\
+|"y| & An old ligature for ``et'' (like the English \&).\\
+|"-| & Like |\-|, but allowing hyphenation in the rest
+ the word.\\
+|"=| & Like |-|, but allowing hyphenation in the rest
+ the word.\\
+|"~| & The hyphen is repeated at the very beginning of
+ the next line if the word is hyphenated at this
+ point.\\
+|""| & Like |"-| but producing no hyphen sign.\\
+|~-| & Like |"-| but with no break after the hyphen. Works for
+ en-dashes (|~--|) and em-dashes (|~---|). |"+|, |"+-|
+ and |"+--| are synonymous.\\
+|"/| & A slash slightly lowered, if necessary.\\
+\verb+"|+ & Disable ligatures at this point.\\
+|"<| & Left guillemets.\\
+|">| & Right guillemets.\\
+|<<| |>>| & |\begin{quoting}| and |\end{quoting}|. (See below.)
+ |"`| and |"'| are synonymous.\\
+|"? "!| & Opening question and exlamation marks (?`!`)
+ aligned on the baseline, useful for all-caps headings, etc.
+\end{tabular}
+\caption{Extra definitions made by file \file{spanish.ldf}}
+\label{tab:spanish-quote-def}
+\end{table}
+\item |\frenchspacing|.
+\item \emph{In math mode}, a dot followed by a digit is replaced by a
+ decimal comma.
+\item Spanish ordinals and abbreviations with the |\sptext|\marg{text}
+ command as, for instance, |1\sptext{er}|. The preceptive dot is
+ included.
+\item Accented (l\'\i m, m\'ax, m\'\i n, m\'od) and spaced (arc\,cos,
+ etc.) functions.
+\item |\dotlessi| is provided for use in math mode.
+\item A |quoting| environment and a related pair of shorthands |<<|
+ and |>>|. Useful for traditional spanish multi-paragraph quoting.
+\item There is a small space before the percent |\%| sign.
+\item |\lsc| provides lowercase small caps. (See subsection~3.10.)
+\item Ellipsis is best typed as |...| or, within a sentence, as |\...|
+\end{itemize}
+
+If \textsf{spanish} is the main language, the command
+|\layoutspanish| is added to the main group, modifying the standard
+classes throughout the whole document in the following way:
+
+\begin{itemize}
+\item Paragraphs are set with |\indentfirst|.
+\item Both |enumerate| and |itemize| are adapted to Spanish rules.
+\item Both |\alph| and |\Alph| include \textit{\~n} after \textit{n}.
+\item Symbol footmarks are one, two, three, etc., asterisks.
+\item |OT1| guillemets are generated with two |lasy| symbols instead
+ of small |\ll| and |\gg|.
+\item |\roman| is redefined to write small caps Roman numerals, since
+lowercase Roman numerals are discouraged (see below).
+\item There is a dot after section numbers in titles, headings, and toc.
+\end{itemize}
+
+A subset of these features is implemented for Plain \TeX{}
+(accesible with the command |\input spanish.sty|). Most
+significantly, |\lsc|, the |quoting| environment, and features
+provided by |\layoutspanish| are missing.
+
+\paragraph{Customization}
+
+Beginning with version 5.0, customization is made following two paths:
+via |options| or via |commands|; these options and commands override
+the layout for Spanish documents at different levels: options are meant for
+use at the preamble only, while commands may be used in the configuration
+file or at document level.
+
+Global options control the overall appearance of the document, and may
+be set on the |{babel}| call, right after calling |spanish|, or
+shortly before the call to |{babel}|, to ensure their proper loading
+at runtime. Thus, the following calls are roughly equivalent:
+
+\begin{verbatim}
+\usepackage[...,spanish,es-nosectiondot,es-nodecimaldot,...]{babel}
+
+\def\spanishoptions{es-nosectiondot,es-nodecimaldot}
+\usepackage[...,spanish,...]{babel}
+\end{verbatim}
+
+\begin{table}
+\centering
+\begin{tabular}{cccc}\hline
+ Basic Options & |es-minimal| & |es-sloppy| & |es-noshorthands| \\\hline
+ |es-noindentfirst| & X & X & \\
+ |es-nosectiondot| & X & X & \\
+ |es-nolists| & X & X & \\
+ |es-noquoting| & X & X & X \\
+ |es-notilde| & X & X & X \\
+ |es-nodecimaldot| & X & X & X \\
+ |es-nolayout| & & X & \\
+ |es-ucroman| & X & & \\
+ |es-lcroman| & X & X & \\\hline
+\end{tabular}
+ \caption{Spanish Customization Options}
+ \label{tab:SpanishCustomizationOptions}
+\end{table}
+
+Some global options are built upon lower level options, and may be
+used as shorthand for more global customizations.
+Table~\ref{tab:SpanishCustomizationOptions} gives an overview of the
+global options constructed this way. Most of these options are
+self-explanatory: they disable the changes made to the basic \LaTeX\
+layout by |spanish|. |es-lcroman| however, and a few others, need a
+bit of explanation, and they may be described as follows:
+
+\begin{itemize}
+\item Traditional Spanish typography discourages the use of lowercase
+ Roman numerals; instead, a smallcaps variant is implemented.
+ However, since |Makeindex| seems to choke on the code implementing
+ lowercase Roman numerals (via the |\lsc| macro), two workarounds are
+ implemented: the |es-ucroman| option converts all Roman numerals to
+ uppercase, and the |es-lcroman| option turns all Roman numerals to
+ lowercase; the former should be preferred over the latter. Three
+ macros control local changes to Roman numbers: |\spanishscroman|,
+ |\spanishucroman|, and |\spanishlcroman|.
+\item The |es-preindex| option calls the |romanidx.sty| package
+ automatically to fix index entries in smallcaps roman form. An
+ additional macro,
+ |\spanishindexchars|\marg{encap}\marg{openrange}\marg{closerange}
+ determines the characters delimiting index entries. Defaults are
+ \verb=\spanishindexchars{|}{(}{)}=.
+\item The |es-tilden| option restores the old tilde |~| shorthand for
+ \~n. This shorthand is however \emph{strongly} deprecated.
+\item The |es-nolayout| option disables layout changes in the document
+ when |spanish| is the main language. These changes affect
+ enumerated and itemized lists, enumerations (alphabetic order
+ excludes \~n), and symbolic footnotes.
+\item The |es-noshorthands| disables the shorthand mechanism
+ completely: neither |"| nor |'| nor |<| nor |>| nor |~| nor |.| work
+ at all.
+\item The |es-noquoting| option disables the macros |<<| and |>>|
+ calling the |quoting| environment; the alternative macros |"`| and
+ |"'| are still available.
+\item The |es-uppernames| option makes uppercase versions of captions
+ for chapter, tablename, etc.
+\item The |es-tabla| option changes ``cuadro'' for ``tabla'' in
+ captions.
+\end{itemize}
+
+Finally, the Spanish 5 series begins the implementation of national
+variations of Spanish typography, beginning with Mexico. Thus the
+global options |mexico| and |mexico-com| are adapted to practices
+spread in Mexico, and perhaps Central America, the Caribbean, and
+some countries in South America.\footnote{The main difference is
+that |mexico| disables the |decimaldot| mechanism, while
+|mexico-com| keeps it enabled; both change the |quoting|
+environment, disabling the use of guillemets.}
+
+Many of the global options are implemented via macros, which may be
+included in the configuration file |spanish.cfg|, in the preamble,
+after the call to |babel|, and in the body of the document. These
+macros are the following.
+
+\begin{itemize}
+\item The macros |\spanishdashitems| and |\spanishsignitems| change
+ the values of itemized lists to a series of dashes or an alternative
+ series of symbols, respectively.
+\item The command |\deactivatequoting| deactivates the |<<| and |>>|
+ shorthands if you want to use |<| and |>| in numerical comparisons
+ and some AMS\TeX\ commands.
+\item You may kill the space in spaced operators with
+ |\unspacedoperators|.
+\item You may kill the accents on accented operators with
+ |\unaccentedoperators|.
+\item The command |\decimalpoint| resets the decimal separator to its
+ default (dot) value, while |\spanishdecimal|\marg{symbol} allows for
+ an arbitrary definition.
+\item |\spanishplainpercent| prevents the addition of a thinspace
+ before the percent sign in texts. This might be useful for
+ parenthesized percent signs in tables, etc.
+\item The macros |\spanishdatedel| and |\spanishdatede| control the if
+ the article is given in years (|del| or |de|).
+\item The macro |\spanishreverseddate| sets the date of the format
+ ``Month Day del Year''.
+\item The macro |\Today| gives months in uppercase.
+\item The macros |\spanish|\textit{caption} change the value of the
+ \emph{caption} automatically (no need to add an |\addto|).
+\item The command |\spanishdeactivate|\marg{characters} disables the
+ shorthand characters listed in the argument. Elegible characters
+ are the set |.'"~<>|. These shorthand characters may be globally
+ deactivated for Spanish adding this command to |\shorthandsspanish|.
+\item Extras are divided in groups controlled by the commands
+ |\textspanish|, |\mathspanish|, |\shorthandsspanish| y
+ |\layoutspanish|; their values may be cancelled typing
+ |\renewcommand|\marg{command}|{}|, or changed at will (check the
+ Spanish documentation or the code for details).
+\item The command |\spanishoperators|\marg{operators} defines command
+ names for operators in Spanish. There is no standard name for some
+ of them, so they may be created or changed at will. For instance,
+ the command |\renewcommand{\spanishoperators}{arc\,ctg m\acute{i}n}|
+ creates commands for these functions. The command |\,| adds
+ thinspaces at the appropriate places for spaced operators (like
+ |\arcctg| in this case), and the command |\acute|\marg{letter} adds
+ an accent to the letter included in the definition (thus,
+ |m\acute{i}n| defines the accented function |\min| (m\'\i{}n);
+ please notice that |\dotlessi| is not necessary).
+\item The commands |\lquoti|\marg{string} |\rquoti|\marg{string}
+ |\lquotii|\marg{string} |\rquotii|\marg{string}
+ |\lquotiii|\marg{string} |\rquotiii|\marg{string} set the quoting
+ signs in the |quoting| environment, nested from outside in. They may
+ be |\renew|ed at will. Default values are shown in
+ table~\ref{tab:spanish-quote-ref}.
+\begin{table}
+\center\small
+\vspace{1.5ex}
+\begin{tabular}{l@{\hspace{5em}}l}
+|\lquoti| &|"<|\\
+|\rquoti| &|">|\\
+|\lquotii| &|``|\\
+|\rquotii| &|''|\\
+|\lquotiii| &|`|\\
+|\rquotiii| &|'|
+\end{tabular}
+\caption{Default quoting signs set for the \texttt{quoting} environment.}
+\label{tab:spanish-quote-ref}
+\end{table}
+
+\item The command |\selectspanish*| is obsolete: if |spanish| is the
+main language, all its features are available right after loading
+|babel|. The |es-delayed| option is provided to restore the
+previous behavior and macros for backwards compatibility.
+
+\end{itemize}
+
+\end{document}
+%</filedriver>
+%\fi
+%
+% \StopEventually{}
+% \section{The Code}
+%
+% \changes{spanish~5.0a}{2007/02/21}{Reimplemented in full, which some
+% parts rewritten from scratch. Added the es- mechanism and the mexico
+% option. Many bug fixes.}
+% \changes{spanish~5.0d}{2008/05/25}{Fixed two bugs: misplaced
+% subscripts with lim and the like; problem with \cs{roman} and hyperref.}
+% \changes{spanish~5.0h}{2009/01/02}{Removed unnecessary \cs{string}s
+% with two acutes. Added es-noenumerate, es-noitemize.}
+% \changes{spanish~5.0i}{2009/05/11}{romanidx not working. Some \cs{es@roman}
+% replaced with \cs{es@scroman}.}
+% \changes{spanish~5.0j}{2010/01/06}{Overdot \cs{.} was not robust.}
+% \changes{spanish~5.0j}{2010/04/04}{Colon in saved catcodes, because
+% babel doesn't restore it after french}
+% \changes{spanish~5.0j}{2010/05/08}{Changed order of tests in
+% shorthands, to fix a bug with ifthen}
+% \changes{spanish~5.0k}{2011/08/08}{When saving ., check if
+% \cs{mathcode} is 8000}
+% \changes{spanish~5.0l}{2013/04/11}{Support for babel modifiers}
+% \changes{spanish~5.0m}{2014/01/29}{\cs{S@}size surrounded by
+% \cs{globalsdef} to avoid global changes in the size}
+% \changes{spanish~5.0m}{2014/01/29}{Execute the first \cs{bbl@allowhyphens}
+% in \cs{es@accent} only in horizontal mode}
+% \changes{spanish~5.0n}{2014/01/30}{\cs{es@accent} -- Removed first
+% \cs{bbl@allowhyphens}, the second one is ignored if a space
+% follows, removed code for spacefactor, removed code for primes}
+% \changes{spanish~5.0n}{2014/04/14}{Check font name in \cs{dotlessi}}}
+% \changes{spanish~5.0n}{2014/04/23}{Added \cs{spanishdate} and
+% \cs{spanishDate}}
+% \changes{spanish~5.0o}{2016/01/14}{Added \cs{spanishdate} and
+% \cs{spanishDate}}
+%
+% This file is (hopefully) for both \LaTeXe{} and Plain formats.
+%
+% \begin{macrocode}
+%<*code>
+\ProvidesLanguage{spanish.ldf}
+ [2016/03/03 v5.0p Spanish support from the babel system]
+\LdfInit{spanish}\captionsspanish
+
+\edef\es@savedcatcodes{%
+ \catcode`\noexpand\~=\the\catcode`\~
+ \catcode`\noexpand\"=\the\catcode`\"
+ \catcode`\noexpand\:=\the\catcode`\:}
+\catcode`\~=\active
+\catcode`\"=12
+\catcode`\:=12
+
+\ifx\undefined\l@spanish
+ \@nopatterns{Spanish}
+ \adddialect\l@spanish0
+\fi
+
+\def\es@sdef#1{\babel@save#1\def#1}
+\def\es@sDRC#1{\babel@save#1\DeclareRobustCommand*#1}
+
+\@ifundefined{documentclass}
+ {\let\ifes@latex\iffalse}
+ {\let\ifes@latex\iftrue}
+% \end{macrocode}
+%
+% Package options for spanish. To avoid error messages dummy
+% options are created on the fly when neccessary.
+%
+% \begin{macrocode}
+\ifes@latex
+
+\@ifundefined{spanishoptions}{}
+{\PassOptionsToPackage{\spanishoptions}{babel}}
+
+\def\es@genoption#1#2#3{%
+ \DeclareOption{#1}{}%
+ \@ifpackagewith{babel}{#1}%
+ {\def\es@a{#1}%
+ \expandafter\let\expandafter\es@b\csname opt@babel.sty\endcsname
+ \addto\es@b{,#2}%
+ \expandafter\let\csname opt@babel.sty\endcsname\es@b
+ \AtEndOfPackage{#3}}%
+ {}}
+
+\es@genoption{es-minimal}
+ {es-ucroman,es-noindentfirst,es-nosectiondot,es-noenumerate,%
+ es-noitemize,es-noquoting,es-notilde,es-nodecimaldot}
+ {\spanishplainpercent
+ \let\es@operators\relax}
+\es@genoption{es-nolists}
+ {es-noenumerate,es-noitemize}{}
+\es@genoption{es-sloppy}
+ {es-nolayout,es-noshorthands}{}
+\es@genoption{es-noshorthands}
+ {es-noquoting,es-nodecimaldot,es-notilde}{}
+\es@genoption{mexico}
+ {mexico-com,es-nodecimaldot}{}
+\es@genoption{mexico-com}
+ {es-tabla,es-noquoting}
+ {\def\lquoti{``}\def\rquoti{''}%
+ \def\lquotii{`}\def\rquotii{'}%
+ \def\lquotiii{\guillemotleft{}}%
+ \def\rquotiii{\guillemotright{}}}
+
+\def\es@ifoption#1#2#3{%
+ \@ifundefined{BabelModifiers}%
+ {\DeclareOption{es-#1}{}%
+ \@ifpackagewith{babel}{es-#1}{#2}{#3}}
+ {\@expandtwoargs\in@{,#1,}{,\BabelModifiers,}%
+ \ifin@#2\else#3\fi}}
+
+\def\es@optlayout#1#2{\es@ifoption{#1}{}{\addto\layoutspanish{#2}}}
+
+\else
+
+\def\es@ifoption#1#2#3{\@namedef{spanish#1}{#2}}
+
+\fi
+
+\let\es@uclc\@secondoftwo
+\es@ifoption{uppernames}{\let\es@uclc\@firstoftwo}{}
+
+\def\es@tablename{Ccuadro}
+\es@ifoption{tabla}{\def\es@tablename{Ttabla}}{}
+\es@ifoption{cuadro}{\def\es@tablename{Ccuadro}}{}
+% \end{macrocode}
+%
+% Captions follow a two step schema, so that, say, |\refname| is
+% defined as |\spanishrefname| which in turn contains the string
+% to be printed. The final definition of |\captionsspanish|
+% is built below.
+%
+% \begin{macrocode}
+\StartBabelCommands*{spanish}{captions}
+ [unicode, charset=utf8, fontenc=EU1 EU2]
+
+ \AddBabelHook{spanish}{stringprocess}{%
+ \protected@edef\BabelString{\BabelString}}
+ \SetString{\bibname}{Bibliografía}%
+ \SetString{\chaptername}{Capítulo}%
+ \SetString{\appendixname}{Apéndice}%
+ \SetString{\listfigurename}{Índice de \es@uclc Ffiguras}%
+ \SetString{\listtablename}{Índice de \expandafter\es@uclc\es@tablename s}%
+ \SetString{\indexname}{Índice \es@uclc Aalfabético}%
+ \SetString{\pagename}{página}%
+ \SetString{\seename}{véase}%
+ \SetString{\alsoname}{véase también}%
+ \SetString{\proofname}{Demostración}%
+ \@ifundefined{chapter}
+ {\SetString{\contentsname}{Índice}}%
+ {\SetString{\contentsname}{Índice \es@uclc Ggeneral}}
+
+\StartBabelCommands*{spanish}{captions}
+
+ \AddBabelHook{spanish}{stringprocess}{%
+ \protected@edef\BabelString{\BabelString}}
+ \SetString{\prefacename}{Prefacio}%
+ \SetString{\refname}{Referencias}%
+ \SetString{\abstractname}{Resumen}%
+ \SetString{\bibname}{Bibliograf\'{\i}a}%
+ \SetString{\chaptername}{Cap\'{\i}tulo}%
+ \SetString{\appendixname}{Ap\'{e}ndice}%
+ \SetString{\listfigurename}{\'{I}ndice de \es@uclc Ffiguras}%
+ \SetString{\listtablename}{\'{I}ndice de \expandafter\es@uclc\es@tablename s}%
+ \SetString{\indexname}{\'{I}ndice \es@uclc Aalfab\'{e}tico}%
+ \SetString{\figurename}{Figura}%
+ \SetString{\tablename}{\expandafter\@firstoftwo\es@tablename}%
+ \SetString{\partname}{Parte}%
+ \SetString{\enclname}{Adjunto}%
+ \SetString{\ccname}{Copia a}%
+ \SetString{\headtoname}{A}%
+ \SetString{\pagename}{p\'{a}gina}%
+ \SetString{\seename}{v\'{e}ase}%
+ \SetString{\alsoname}{v\'{e}ase tambi\'{e}n}%
+ \SetString{\proofname}{Demostraci\'{o}n}%
+ \SetString{\glossaryname}{Glosario}%
+ \@ifundefined{chapter}
+ {\SetString{\contentsname}{\'{I}ndice}}%
+ {\SetString{\contentsname}{\'{I}ndice \es@uclc Ggeneral}}
+% \end{macrocode}
+%
+% Now two macros for dates (upper and lowercase).
+%
+% \begin{macrocode}
+\StartBabelCommands*{spanish}{date}
+
+ \SetStringLoop{month#1name}{enero,febrero,marzo,abril,mayo,junio,%
+ julio,agosto,septiembre,octubre,noviembre,diciembre}
+ \SetStringLoop{ucmonth#1name}{Enero,Febrero,Marzo,Abril,Mayo,Junio,%
+ Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre}
+ \SetString\today{\spanishdate{\year}{\month}{\day}}
+ \SetString\Today{\spanishDate{\year}{\month}{\day}}
+
+\EndBabelCommands
+
+\newcommand\spanishdate{\es@date{}}
+\newcommand\spanishDate{\es@date{uc}}
+\def\es@date#1#2#3#4{%
+ \ifcase\es@datefmt
+ \ifnum#4=1
+ \es@datefirst
+ \else
+ \number#4\relax
+ \fi
+ ~de \csname#1month\romannumeral#3name\endcsname
+ \else
+ \csname#1month\romannumeral#3name\endcsname~%
+ \ifnum#4=1
+ \es@datefirst
+ \else
+ \number#4\relax
+ \fi
+ \fi
+ \ de%
+ \ifnum#2>1999\relax\es@yearl
+ \else\ifnum#2<1100\es@yearl
+ \fi\fi
+ ~\number#2\relax}
+\chardef\es@datefmt=\z@
+\def\spanishreverseddate{\chardef\es@datefmt=\@ne}
+\def\spanishdatedel{\def\es@yearl{l}}
+\def\spanishdatede{\let\es@yearl\@empty}
+\spanishdatede
+\def\spanishdatefirst{\def\es@datefirst}
+\spanishdatefirst{1}
+% \end{macrocode}
+%
+% The basic macros to select the language in the preamble or the
+% config file. Use of |\selectlanguage| should be avoided at this
+% early stage because the active chars are not yet
+% active. |\selectspanish| makes them active.
+%
+% \begin{macrocode}
+\def\selectspanish{%
+ \def\selectspanish{%
+ \def\selectspanish{%
+ \PackageWarning{spanish}{Extra \string\selectspanish\space ignored}}%
+ \es@select}}
+\@onlypreamble\selectspanish
+\def\es@select{%
+ \let\es@select\@undefined
+ \selectlanguage{spanish}}
+
+\let\es@shlist\@empty
+% \end{macrocode}
+%
+% Instead of joining all the extras directly in |\extrasspanish|,
+% we subdivide them in three further groups: text, math and shorthands.
+%
+% \begin{macrocode}
+\def\extrasspanish{%
+ \textspanish
+ \mathspanish
+ \ifx\shorthandsspanish\@empty
+ \expandafter\spanishdeactivate\expandafter{\es@shlist}%
+ \languageshorthands{none}%
+ \else
+ \shorthandsspanish
+ \fi}
+\def\noextrasspanish{%
+ \ifx\textspanish\@empty\else
+ \notextspanish
+ \fi
+ \ifx\mathspanish\@empty\else
+ \nomathspanish
+ \fi
+ \ifx\shorthandsspanish\@empty\else
+ \noshorthandsspanish
+ \fi
+ \csname es@restorelist\endcsname}
+
+\addto\textspanish{\es@sDRC\sptext{\es@sptext}}
+
+\def\es@orddot{.}
+% \end{macrocode}
+%
+% The definition of |\sptext| is more elaborated than that of
+% |\textsuperscript|. With uppercase superscript text
+% the scriptscriptsize is used. The mandatory dot is already
+% included. There are two versions, depending on the
+% format.
+%
+% \begin{macrocode}
+\ifes@latex
+ \def\es@sptext#1{%
+ {\es@orddot
+ \setbox\z@\hbox{8}\dimen@\ht\z@
+ \globaldefs\m@ne
+ \csname S@\f@size\endcsname
+ \globaldefs\z@
+ \edef\@tempa{\def\noexpand\@tempc{#1}%
+ \lowercase{\def\noexpand\@tempb{#1}}}\@tempa
+ \ifx\@tempb\@tempc
+ \fontsize\sf@size\z@
+ \selectfont
+ \advance\dimen@-1.15ex
+ \else
+ \fontsize\ssf@size\z@
+ \selectfont
+ \advance\dimen@-1.5ex
+ \fi
+ \math@fontsfalse\raise\dimen@\hbox{#1}}}
+\else
+ \let\sptextfont\rm
+ \def\es@sptext#1{%
+ {\es@orddot
+ \setbox\z@\hbox{8}\dimen@\ht\z@
+ \edef\@tempa{\def\noexpand\@tempc{#1}%
+ \lowercase{\def\noexpand\@tempb{#1}}}\@tempa
+ \ifx\@tempb\@tempc
+ \advance\dimen@-0.75ex
+ \raise\dimen@\hbox{$\scriptstyle\sptextfont#1$}%
+ \else
+ \advance\dimen@-0.8ex
+ \raise\dimen@\hbox{$\scriptscriptstyle\sptextfont#1$}%
+ \fi}}
+\fi
+% \end{macrocode}
+%
+% Lowercase small caps. We check if the current font has small
+% caps. If not, we fake them. \cs{selectfont} in \cs{es@lsc}
+% seems redundant, but it's not. An intermediate macro allows
+% for an optimized variant for Roman numerals.
+%
+% \begin{macrocode}
+\ifes@latex
+ \addto\textspanish{\es@sDRC\lsc{\es@lsc}}
+ \def\es@lsc{\es@xlsc\MakeUppercase\MakeLowercase}
+ \def\es@xlsc#1#2#3{%
+ \leavevmode
+ \hbox{%
+ \scshape\selectfont
+ \expandafter\ifx\csname\f@encoding/\f@family/\f@series
+ /n/\f@size\expandafter\endcsname
+ \csname\curr@fontshape/\f@size\endcsname
+ \csname S@\f@size\endcsname
+ \fontsize\sf@size\z@\selectfont
+ \PackageWarning{spanish}{Replacing `\curr@fontshape' by
+ \MessageBreak faked small caps}%
+ #1{#3}%
+ \else
+ #2{#3}%
+ \fi}}
+\fi
+% \end{macrocode}
+%
+% The |quoting| environment (not available in Plain). Overriding
+% the default |\everypar| is a bit tricky.
+%
+% \begin{macrocode}
+\newif\ifes@listquot
+
+\ifes@latex
+ \csname newtoks\endcsname\es@quottoks
+ \csname newcount\endcsname\es@quotdepth
+ \newenvironment{quoting}
+ {\leavevmode
+ \advance\es@quotdepth\@ne
+ \csname lquot\romannumeral\es@quotdepth\endcsname
+ \ifnum\es@quotdepth=\@ne
+ \es@listquotfalse
+ \let\es@quotpar\everypar
+ \let\everypar\es@quottoks
+ \everypar\expandafter{\the\es@quotpar}%
+ \es@quotpar{\the\everypar
+ \ifes@listquot\global\es@listquotfalse\else\es@quotcont\fi}%
+ \fi
+ \toks@\expandafter{\es@quotcont}%
+ \edef\es@quotcont{%
+ \the\toks@
+ \expandafter\noexpand
+ \csname rquot\romannumeral\es@quotdepth\endcsname}}
+ {\csname rquot\romannumeral\es@quotdepth\endcsname}
+ \def\lquoti{\guillemotleft{}}
+ \def\rquoti{\guillemotright{}}
+ \def\lquotii{``}
+ \def\rquotii{''}
+ \def\lquotiii{`}
+ \def\rquotiii{'}
+ \let\es@quotcont\@empty
+% \end{macrocode}
+%
+% If there is a marginpar inside quoting, we don't add the
+% quotes. |\es@listqout| stores the quotes to be used before
+% item labels; otherwise they could appear after the labels.
+%
+% \begin{macrocode}
+ \addto\@marginparreset{\let\es@quotcont\@empty}
+ \DeclareRobustCommand\es@listquot{%
+ \csname rquot\romannumeral\es@quotdepth\endcsname
+ \global\es@listquottrue}
+\fi
+% \end{macrocode}
+%
+% |\frenchspacing|, |\...| and |\%|.
+%
+% \begin{macrocode}
+\addto\textspanish{\bbl@frenchspacing}
+\addto\notextspanish{\bbl@nonfrenchspacing}
+\addto\textspanish{%
+ \let\es@save@dot\.%
+ \es@sDRC\.{\@ifnextchar.{\es@dots}{\es@save@dot}}}
+\def\es@dots..{\leavevmode\hbox{...}\spacefactor\@M}
+\def\es@sppercent{\unskip\textormath{$\m@th\,$}{\,}}
+\def\spanishplainpercent{\let\es@sppercent\@empty}
+\addto\textspanish{%
+ \let\percentsign\%%
+ \es@sDRC\%{\es@sppercent\percentsign{}}}
+% \end{macrocode}
+%
+% Now, the math group. It's not easy to add an accent to an
+% operator, because we must avoid using text (that is, |\mbox|)
+% where we have no control on font and size, and at the same time
+% we need |\i|, which is forbidden in math mode. |\dotlessi| must
+% be converted to uppercase if necessary in \LaTeXe. There are two
+% versions, depending on the format.
+% \changes{spanish~5.0o}{2016/01/10}{Fixed EUx: deal with them
+% separately, to be improved}
+% \changes{spanish~5.0p}{2016/03/02}{Added TU. Now with uni encs use the
+% actual composite char}
+%
+% \begin{macrocode}
+\addto\mathspanish{\es@sDRC\dotlessi{\es@dotlessi}}
+\let\nomathspanish\relax
+
+\ifes@latex
+ \def\es@texti{\i}
+ \addto\@uclclist{\dotlessi\es@texti}
+\fi
+
+\def\es@fetchenc{%
+ \count@\escapechar \escapechar=\m@ne
+ \edef\es@a{\expandafter\string\the\textfont\mathgroup}%
+ \expandafter\split@name\es@a////\@nil
+ \escapechar=\count@
+ \@expandtwoargs\in@{////}{\f@size}%
+ \ifin@\else
+ \PackageError{spanish}{%
+ Non-NFSS font name. The current math font (\es@a)\MessageBreak
+ doesn't follow the NFSS conventions. I'll use the\MessageBreak
+ default \string\i\space for \string\dotlessi,
+ but expect a wrong output.}%
+ {Find where this font has been (re)defined, and fix it.}%
+ \def\f@encoding{OT1}%
+ \fi}
+
+\ifes@latex
+ \ifx\Umathchardef\@undefined\else
+ \expandafter\Umathchardef\csname es@EU1@dotlessi\endcsname"7"1"0131\relax
+ \expandafter\Umathchardef\csname es@EU2@dotlessi\endcsname"7"1"0131\relax
+ \expandafter\Umathchardef\csname es@TU@dotlessi\endcsname"7"1"0131\relax
+ \fi
+ \def\es@dotlessi{%
+ \ifmmode
+ {\ifnum\mathgroup=\m@ne
+ \imath
+ \else
+ \es@fetchenc
+ \@ifundefined{es@\f@encoding @dotlessi}%
+ {\@ifundefined{\f@encoding\string\i}%
+ {\edef\f@encoding{\string?}}{}%
+ \expandafter\count@\the\csname\f@encoding\string\i\endcsname
+ \advance\count@"7000
+ \mathchar\count@}%
+ {\csname es@\f@encoding @dotlessi\endcsname}%
+ \fi}%
+ \else
+ \i
+ \fi}
+\else
+ \def\es@dotlessi{\textormath{\i}{\mathchar"7010}}
+\fi
+
+\def\es@op@ac@base#1{\acute{\if i#1\dotlessi\else#1\fi}}
+\ifx\Umathchar\@undefined\else
+ \def\es@ac@TU@a{"00E1}\def\es@ac@TU@A{"00C1}%
+ \def\es@ac@TU@e{"00E9}\def\es@ac@TU@E{"00C9}%
+ \def\es@ac@TU@i{"00ED}\def\es@ac@TU@I{"00CD}%
+ \def\es@ac@TU@o{"00F3}\def\es@ac@TU@O{"00D3}%
+ \def\es@ac@TU@u{"00FA}\def\es@ac@TU@U{"00DA}%
+ \def\es@op@ac@TU#1{%
+ \ifnum\mathgroup=\m@ne
+ \es@op@ac@base{#1}%
+ \else
+ \es@fetchenc
+ \@ifundefined{es@op@ac@\f@encoding}%
+ {\es@op@ac@base{#1}}%
+ {\@ifundefined{es@ac@TU@#1}%
+ {\es@op@ac@base{#1}}%
+ {\Umathchar"7"1\csname es@ac@TU@#1\endcsname}}%
+ \fi}%
+ \expandafter\let\csname es@op@ac@EU1\endcsname\es@op@ac@TU
+ \expandafter\let\csname es@op@ac@EU2\endcsname\es@op@ac@TU
+\fi
+\def\accentedoperators{%
+ \@ifundefined{es@op@ac@TU}%
+ {\let\es@op@ac\es@op@ac@base}%
+ {\let\es@op@ac\es@op@ac@TU}}
+\def\unaccentedoperators{%
+ \def\es@op@ac##1{##1}}
+\accentedoperators
+\def\spacedoperators{\let\es@op@sp\,}
+\def\unspacedoperators{\let\es@op@sp\@empty}
+\spacedoperators
+\addto\mathspanish{\es@operators}
+
+\ifes@latex\else
+ \let\operator@font\rm
+\fi
+% \end{macrocode}
+%
+% Operators are stored in |\es@operators|, which is
+% included in the math group. Since |\operator@font| is
+% defined in \LaTeXe{} only, we define it in the plain variant.
+% \changes{spanish~5.0n}{2014-03-28}{tabular didn't like the
+% ampersand used in tests. Replaced by double backslash.}
+%
+% \begin{macrocode}
+\def\es@operators{%
+ \es@sdef\bmod{\nonscript\mskip-\medmuskip\mkern5mu
+ \mathbin{\operator@font m\es@op@ac od}\penalty900\mkern5mu
+ \nonscript\mskip-\medmuskip}%
+ \@ifundefined{@amsmath@err}%
+ {\es@sdef\pmod##11{\allowbreak\mkern18mu
+ ({\operator@font m\es@op@ac od}\,\,##11)}}%
+ {\es@sdef\mod##1{\allowbreak\if@display\mkern18mu
+ \else\mkern12mu\fi{\operator@font m\es@op@ac od}\,\,##1}%
+ \es@sdef\pmod##1{\pod{{\operator@font m\es@op@ac od}%
+ \mkern6mu##1}}}%
+ \def\es@a##1 {%
+ \ifx\relax##1\relax % empty? continue
+ \bbl@afterelse
+ \es@a
+ \else
+ \bbl@afterfi
+ {\ifx\\##1% \@emtpy? finish
+ \else
+ \bbl@afterfi
+ \begingroup
+ \let\,\@empty % ignore when def'ing name
+ \let\acute\@firstofone % id
+ \edef\es@b{\expandafter\noexpand\csname##1\endcsname}%
+ \def\,{\noexpand\es@op@sp}%
+ \def\acute{\noexpand\es@op@ac}%
+ \edef\es@a{\endgroup
+ \noexpand\es@sdef\expandafter\noexpand\es@b{%
+ \mathop{\noexpand\operator@font##1}\es@c}}%
+ \es@a % restores itself
+ \es@a
+ \fi}%
+ \fi}%
+ \let\es@b\spanishoperators
+ \addto\es@b{ }%
+ \let\es@c\@empty
+ \expandafter\es@a\es@b l\acute{i}m l\acute{i}m\,sup
+ l\acute{i}m\,inf m\acute{a}x \acute{i}nf m\acute{i}n \\ %
+ \def\es@c{\nolimits}%
+ \expandafter\es@a\es@b sen tg arc\,sen arc\,cos arc\,tg \\ }
+\def\spanishoperators{cotg cosec senh tgh }
+% \end{macrocode}
+%
+% Now comes the text shorthands. They are grouped in
+% |\shorthandsspanish| and this style performs some
+% operations before the babel shortands are called.
+% The aims are to allow espression like |$a^{x'}$|
+% and to deactivate shorthands by making them of
+% category `other.' After providing a |\'i| shorthand,
+% the new macros are defined.
+%
+% \begin{macrocode}
+\DeclareTextCompositeCommand{\'}{OT1}{i}{\@tabacckludge'{\i}}
+
+\def\es@set@shorthand#1{%
+ \expandafter\edef\csname es@savecat\string#1\endcsname
+ {\the\catcode`#1}%
+ \initiate@active@char{#1}%
+ \catcode`#1=\csname es@savecat\string#1\endcsname\relax
+ \if.#1\else
+ \addto\es@restorelist{\es@restore{#1}}%
+ \addto\es@select{\shorthandon{#1}}%
+ \addto\shorthandsspanish{\es@activate{#1}}%
+ \addto\es@shlist{#1}%
+ \fi}
+
+\def\es@use@shorthand{%
+ \if@safe@actives
+ \bbl@afterelse
+ \string
+ \else
+ \bbl@afterfi
+ {\ifx\thepage\relax
+ \bbl@afterelse
+ \string
+ \else
+ \bbl@afterfi
+ \es@use@sh
+ \fi}%
+ \fi}
+
+\def\es@use@sh#1{%
+ \ifx\protect\@unexpandable@protect
+ \bbl@afterelse
+ \noexpand#1%
+ \else%
+ \bbl@afterfi
+ \textormath
+ {\csname active@char\string#1\endcsname}%
+ {\csname normal@char\string#1\endcsname}%
+ \fi}
+
+\gdef\es@activate#1{%
+ \begingroup
+ \lccode`\~=`#1
+ \lowercase{%
+ \endgroup
+ \def~{\es@use@shorthand~}}}
+
+\def\spanishdeactivate#1{%
+ \@tfor\@tempa:=#1\do{\expandafter\es@spdeactivate\@tempa}}
+
+\def\es@spdeactivate#1{%
+ \if.#1%
+ \mathcode`\.=\es@period@math\relax
+ \begingroup\lccode`\~=`\.\lowercase{\endgroup\let~\es@period@code}%
+ \else
+ \begingroup
+ \lccode`\~=`#1
+ \lowercase{%
+ \endgroup
+ \expandafter\let\expandafter~%
+ \csname normal@char\string#1\endcsname}%
+ \catcode`#1=\csname es@savecat\string#1\endcsname\relax
+ \fi}
+% \end{macrocode}
+%
+% |\es@restore| is used in the list |\es@restorelist|, which in
+% turn restores all shorthands as defined by \babel. The latter
+% macros also has |\es@quoting|.
+%
+% \begin{macrocode}
+\def\es@restore#1{%
+ \shorthandon{#1}%
+ \begingroup
+ \lccode`\~=`#1
+ \lowercase{%
+ \endgroup
+ \bbl@deactivate{~}}}
+% \end{macrocode}
+%
+% To selectively define the shorthands we have a couple of
+% macros, which defines a certain combination if the first
+% character has been activated as a shorthand. The second
+% one is intended for a few shorthands with an alternative
+% form.
+%
+% \begin{macrocode}
+\def\es@declare#1{%
+ \@ifundefined{es@savecat\expandafter\string\@firstoftwo#1}%
+ {\@gobble}%
+ {\declare@shorthand{spanish}{#1}}}
+\def\es@declarealt#1#2#3{%
+ \es@declare{#1}{#3}%
+ \es@declare{#2}{#3}}
+
+\ifes@latex\else
+ \def\@tabacckludge#1{\csname\string#1\endcsname}
+\fi
+
+\@ifundefined{add@accent}{\def\add@accent#1#2{\accent#1 #2}}{}
+% \end{macrocode}
+%
+% Instead of redefining |\'|, we redefine the internal
+% macro for the OT1 encoding.
+%
+% \begin{macrocode}
+\ifes@latex
+ \def\es@accent#1#2#3{%
+ \expandafter\@text@composite
+ \csname OT1\string#1\endcsname#3\@empty\@text@composite
+ {\add@accent{#2}{#3}\futurelet\@let@token\bbl@sptest}}
+ \def\bbl@sptest{\ifx\@let@token\@sptoken\else\bbl@allowhyphens\fi}
+\else
+ \def\es@accent#1#2#3{%
+ \add@accent{#2}{#3}\bbl@allowhyphens}
+\fi
+
+\addto\shorthandsspanish{\languageshorthands{spanish}}%
+\es@ifoption{noshorthands}{}{\es@set@shorthand{"}}
+% \end{macrocode}
+%
+% We override the default |"| of babel, intended for german. Note
+% this only applies to OT1.
+%
+% \begin{macrocode}
+\def\es@umlaut#1{\add@accent{127}#1\bbl@allowhyphens}
+
+\addto\shorthandsspanish{%
+ \babel@save\bbl@umlauta
+ \let\bbl@umlauta\es@umlaut}
+\let\noshorthandsspanish\relax
+
+\ifes@latex
+\addto\shorthandsspanish{%
+ \expandafter\es@sdef\csname OT1\string\~\endcsname{\es@accent\~{126}}%
+ \expandafter\es@sdef\csname OT1\string\'\endcsname{\es@accent\'{19}}}
+\else
+\addto\shorthandsspanish{%
+ \es@sdef\~{\es@accent\~{126}}%
+ \es@sdef\'#1{\if#1i\es@accent\'{19}\i\else\es@accent\'{19}{#1}\fi}}
+\fi
+
+\def\es@sptext@r#1#2{\es@sptext{#1#2}}
+\es@declare{"a}{\sptext{a}}
+\es@declare{"A}{\sptext{A}}
+\es@declare{"o}{\sptext{o}}
+\es@declare{"O}{\sptext{O}}
+\es@declare{"e}{\protect\es@sptext@r{e}}
+\es@declare{"E}{\protect\es@sptext@r{E}}
+\es@declare{"u}{\"u}
+\es@declare{"U}{\"U}
+\es@declare{"i}{\"{\i}}
+\es@declare{"I}{\"I}
+\es@declare{"c}{\c{c}}
+\es@declare{"C}{\c{C}}
+\es@declare{"<}{\guillemotleft{}}
+\es@declare{">}{\guillemotright{}}
+\def\es@chf{\char\hyphenchar\font}
+\es@declare{"-}{\bbl@allowhyphens\-\bbl@allowhyphens}
+\es@declare{"=}{\bbl@allowhyphens\es@chf\hskip\z@skip}
+\es@declare{"~}
+ {\bbl@allowhyphens
+ \discretionary{\es@chf}{\es@chf}{\es@chf}%
+ \bbl@allowhyphens}
+\es@declare{"r}
+ {\bbl@allowhyphens
+ \discretionary{\es@chf}{}{r}%
+ \bbl@allowhyphens}
+\es@declare{"R}
+ {\bbl@allowhyphens
+ \discretionary{\es@chf}{}{R}%
+ \bbl@allowhyphens}
+\es@declare{"y}
+ {\@ifundefined{scalebox}%
+ {\ensuremath{\tau}}%
+ {\raisebox{1ex}{\scalebox{-1}{\resizebox{.45em}{1ex}{2}}}}}
+\es@declare{""}{\hskip\z@skip}
+\es@declare{"/}
+ {\setbox\z@\hbox{/}%
+ \dimen@\ht\z@
+ \advance\dimen@-1ex
+ \advance\dimen@\dp\z@
+ \dimen@.31\dimen@
+ \advance\dimen@-\dp\z@
+ \ifdim\dimen@>0pt
+ \kern.01em\lower\dimen@\box\z@\kern.03em
+ \else
+ \box\z@
+ \fi}
+\es@declare{"?}
+ {\setbox\z@\hbox{?`}%
+ \leavevmode\raise\dp\z@\box\z@}
+\es@declare{"!}
+ {\setbox\z@\hbox{!`}%
+ \leavevmode\raise\dp\z@\box\z@}
+
+\def\spanishdecimal#1{\def\es@decimal{{#1}}}
+\def\decimalcomma{\spanishdecimal{,}}
+\def\decimalpoint{\spanishdecimal{.}}
+\decimalcomma
+\es@ifoption{nodecimaldot}{}
+ {\AtBeginDocument{\bgroup\@fileswfalse}%
+ \begingroup\lccode`\~=`\.\lowercase{\endgroup
+ \let\es@period@code~%
+ \es@set@shorthand{.}%
+ \let~\es@period@code}%
+ \AtBeginDocument{\egroup}%
+ \@namedef{normal@char\string.}{%
+ \@ifnextchar\egroup
+ {\es@period@code}%
+ {\csname active@char\string.\endcsname}}%
+ \declare@shorthand{system}{.}{\es@period@code}%
+ \addto\shorthandsspanish{%
+ \babel@savevariable{\mathcode`\.}%
+ \edef\es@period@math{\the\mathcode`\.}%
+ \babel@save\es@period@code
+ \ifnum\es@period@math="8000 %
+ \begingroup\lccode`\~=`\.\lowercase{\endgroup\let\es@period@code~}%
+ \else
+ \mathchardef\es@period@code\es@period@math\relax
+ \mathcode`\.="8000 %
+ \fi
+ \begingroup\lccode`\~=`\.\lowercase{\endgroup\babel@save~}%
+ \es@activate{.}}%
+ \def\es@a#1{\es@declare{.#1}{\es@decimal#1}}%
+ \es@a1\es@a2\es@a3\es@a4\es@a5\es@a6\es@a7\es@a8\es@a9\es@a0}
+
+\es@ifoption{notilde}{}{\es@set@shorthand{~}}
+\def\deactivatetilden{%
+ \expandafter\let\csname spanish@sh@\string~@n@\endcsname\relax
+ \expandafter\let\csname spanish@sh@\string~@N@\endcsname\relax}
+\es@ifoption{tilden}
+ {\es@declare{~n}{\~n}%
+ \es@declare{~N}{\~N}}
+ {\let\deactivatetilden\relax}
+\es@declarealt{~-}{"+}{%
+ \leavevmode
+ \bgroup
+ \let\@sptoken\es@dashes % Changes \@ifnextchar behaviour
+ \@ifnextchar-%
+ {\es@dashes}%
+ {\hbox{\es@chf}\egroup}}
+\def\es@dashes-{%
+ \@ifnextchar-%
+ {\bbl@allowhyphens\hbox{---}\bbl@allowhyphens\egroup\@gobble}%
+ {\bbl@allowhyphens\hbox{--}\bbl@allowhyphens\egroup}}
+
+\es@ifoption{noquoting}%
+ {\let\es@quoting\relax
+ \let\activatequoting\relax
+ \let\deactivatequoting\relax}
+ {\@ifundefined{XML@catcodes}%
+ {\es@set@shorthand{<}%
+ \es@set@shorthand{>}%
+ \declare@shorthand{system}{<}{\csname normal@char\string<\endcsname}%
+ \declare@shorthand{system}{>}{\csname normal@char\string>\endcsname}%
+ \addto\es@restorelist{\es@quoting}%
+ \addto\es@select{\es@quoting}%
+ \ifes@latex
+ \AtBeginDocument{%
+ \es@quoting
+ \if@filesw
+ \immediate\write\@mainaux{\string\@nameuse{es@quoting}}%
+ \fi}%
+ \fi
+ \def\activatequoting{%
+ \shorthandon{<>}%
+ \let\es@quoting\activatequoting}%
+ \def\deactivatequoting{%
+ \shorthandoff{<>}%
+ \let\es@quoting\deactivatequoting}}{}}
+
+\es@declarealt{<<}{"`}{\begin{quoting}}
+\es@declarealt{>>}{"'}{\end{quoting}}
+% \end{macrocode}
+%
+% Acute accent shorthands are stored in a macro. If |activeacute| was
+% set as an option it is executed. If not it is not deleted for a
+% possible later use in the |cfg| file. In non \LaTeXe{} formats it's
+% always executed.
+%
+% \changes{spanish~5.0e}{2008/07/06}{Two acutes in a row should be
+% turned into a double right quote}
+% \changes{spanish~5.0g}{2008/07/20}{Fixed bad kerning before two
+% acutes}
+% \changes{spanish~5.0g}{2008/07/20}{Fixed bad kerning before two
+% acutes}
+% \changes{spanish~5.0o}{2015/12/14}{Fixed typo in \cs{numberline} (\cs{if}
+% to \cs{ifx})}
+%
+% \begin{macrocode}
+\begingroup
+\catcode`\'=12
+\gdef\es@activeacute{%
+ \es@set@shorthand{'}%
+ \def\es@a##1{\es@declare{'##1}{\@tabacckludge'##1}}%
+ \es@a a\es@a e\es@a i\es@a o\es@a u%
+ \es@a A\es@a E\es@a I\es@a O\es@a U%
+ \es@declare{'n}{\~n}%
+ \es@declare{'N}{\~N}%
+ \es@declare{''}{''}%
+ \let\es@activeacute\relax}
+\endgroup
+
+\ifes@latex
+ \@ifpackagewith{babel}{activeacute}{\es@activeacute}{}
+\else
+ \es@activeacute
+\fi
+% \end{macrocode}
+%
+% And the customization. By default these macros only
+% store the values and do nothing.
+%
+% \begin{macrocode}
+\def\es@enumerate#1#2#3#4{\def\es@enum{{#1}{#2}{#3}{#4}}}
+\def\es@itemize#1#2#3#4{\def\es@item{{#1}{#2}{#3}{#4}}}
+
+\ifes@latex
+\es@enumerate{1.}{a)}{1)}{a$'$}
+\def\spanishdashitems{\es@itemize{---}{---}{---}{---}}
+\def\spanishsymbitems{%
+ \es@itemize
+ {\leavevmode\hbox to 1.2ex
+ {\hss\vrule height .9ex width .7ex depth -.2ex\hss}}%
+ {\textbullet}%
+ {$\m@th\circ$}%
+ {$\m@th\diamond$}}
+\def\spanishsignitems{%
+ \es@itemize
+ {\textbullet}%
+ {$\m@th\circ$}%
+ {$\m@th\diamond$}%
+ {$\m@th\triangleright$}}
+\spanishsymbitems
+\def\es@enumdef#1#2#3\@@{%
+ \if#21%
+ \@namedef{theenum#1}{\arabic{enum#1}}%
+ \else\if#2a%
+ \@namedef{theenum#1}{\emph{\alph{enum#1}}}%
+ \else\if#2A%
+ \@namedef{theenum#1}{\Alph{enum#1}}%
+ \else\if#2i%
+ \@namedef{theenum#1}{\roman{enum#1}}%
+ \else\if#2I%
+ \@namedef{theenum#1}{\Roman{enum#1}}%
+ \else\if#2o%
+ \@namedef{theenum#1}{\arabic{enum#1}\sptext{o}}%
+ \fi\fi\fi\fi\fi\fi
+ \toks@\expandafter{\csname theenum#1\endcsname}%
+ \expandafter\edef\csname labelenum#1\endcsname
+ {\noexpand\es@listquot\the\toks@#3}}
+\def\es@guillemot#1#2{%
+ \ifmmode#1%
+ \else
+ \save@sf@q{\penalty\@M
+ \leavevmode\hbox{\usefont{U}{lasy}{m}{n}%
+ \char#2 \kern-0.19em\char#2 }}%
+ \fi}
+\def\layoutspanish{%
+ \let\layoutspanish\@empty
+ \DeclareTextCommand{\guillemotleft}{OT1}{\es@guillemot\ll{40}}%
+ \DeclareTextCommand{\guillemotright}{OT1}{\es@guillemot\gg{41}}%
+ \def\@fnsymbol##1%
+ {\ifcase##1\or*\or**\or***\or****\or
+ *****\or******\else\@ctrerr\fi}%
+ \def\@alph##1%
+ {\ifcase##1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or
+ k\or l\or m\or n\or \~n\or o\or p\or q\or r\or s\or t\or u\or v\or
+ w\or x\or y\or z\else\@ctrerr\fi}%
+ \def\@Alph##1%
+ {\ifcase##1\or A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or
+ K\or L\or M\or N\or \~N\or O\or P\or Q\or R\or S\or T\or U\or V\or
+ W\or X\or Y\or Z\else\@ctrerr\fi}}
+
+\es@optlayout{noenumerate}{%
+ \def\es@enumerate#1#2#3#4{%
+ \es@enumdef{i}#1\@empty\@empty\@@
+ \es@enumdef{ii}#2\@empty\@empty\@@
+ \es@enumdef{iii}#3\@empty\@empty\@@
+ \es@enumdef{iv}#4\@empty\@empty\@@}%
+ \def\p@enumii{\theenumi}%
+ \def\p@enumiii{\p@enumii\theenumii}%
+ \def\p@enumiv{\p@enumiii\theenumiii}%
+ \expandafter\es@enumerate\es@enum}
+\es@optlayout{noitemize}{%
+ \def\es@itemize#1#2#3#4{%
+ \def\labelitemi{\es@listquot#1}%
+ \def\labelitemii{\es@listquot#2}%
+ \def\labelitemiii{\es@listquot#3}%
+ \def\labelitemiv{\es@listquot#4}}%
+ \expandafter\es@itemize\es@item}
+\let\esromanindex\@secondoftwo
+\es@ifoption{ucroman}
+ {\def\es@romandef{%
+ \def\esromanindex##1##2{##1{\uppercase{##2}}}%
+ \def\@roman{\@Roman}}}
+ {\def\es@romandef{%
+ \def\esromanindex##1##2{##1{\es@scroman{##2}}}%
+ \def\@roman##1{\es@roman{\number##1}}%
+ \def\es@roman##1{\es@scroman{\romannumeral##1}}%
+ \DeclareRobustCommand\es@scroman{\es@xlsc\uppercase\@firstofone}}}
+\es@optlayout{lcroman}{\es@romandef}
+\newcommand\spanishlcroman{\def\@roman##1{\romannumeral##1}}
+\newcommand\spanishucroman{\def\@roman{\@Roman}}
+\newcommand\spanishscroman{\def\@roman##1{\es@roman{\romannumeral##1}}}
+\es@optlayout{noindentfirst}{%
+ \let\@afterindentfalse\@afterindenttrue
+ \@afterindenttrue}
+\es@optlayout{nosectiondot}{%
+ \def\@seccntformat#1{\csname the#1\endcsname.\quad}%
+ \def\numberline#1{\hb@xt@\@tempdima{#1\ifx&#1&\else.\fi\hfil}}}
+\es@ifoption{nolayout}{\let\layoutspanish\relax}{}
+\es@ifoption{sloppy}{\let\textspanish\relax\let\mathspanish\relax}{}
+\es@ifoption{delayed}{}{\def\es@layoutspanish{\layoutspanish}}
+\es@ifoption{preindex}{\AtEndOfPackage{\RequirePackage{romanidx}}}{}
+% \end{macrocode}
+%
+% We need to execute the following code when babel has been
+% run, in order to see if |spanish| is the main language.
+%
+% \begin{macrocode}
+\AtEndOfPackage{%
+ \let\es@activeacute\@undefined
+ \def\bbl@tempa{spanish}%
+ \ifx\bbl@main@language\bbl@tempa
+ \@nameuse{es@layoutspanish}%
+ \addto\es@select{%
+ \@ifstar{\PackageError{spanish}%
+ {Old syntax--use es-nolayout}%
+ {If you don't want changes in layout\MessageBreak
+ use the package option `es-nolayout'}}%
+ {}}%
+ \AtBeginDocument{\layoutspanish}%
+ \fi
+ \selectspanish}
+\fi % of \ifes@latex
+% \end{macrocode}
+%
+% After restoring the catcode of |~| and setting the minimal
+% values for hyphenation, the |.ldf| is finished.
+% \changes{spanish~5.0o}{2015/12/14}{Misplaced line -- activatequoting
+% must precede \cs{ldf@finish}}
+%
+% \begin{macrocode}
+\es@savedcatcodes
+\providehyphenmins{\CurrentOption}{\tw@\tw@}
+\ifes@latex\else
+ \es@select
+\fi
+\csname activatequoting\endcsname
+\ldf@finish{spanish}
+%</code>
+% \end{macrocode}
+% That's all in the main file.
+%
+% The |spanish| option writes a macro in the page field of
+% \textit{MakeIndex} in entries with small caps number, but they
+% are rejected. This program is a preprocessor which moves this
+% macro to the entry field. It can be called from the main
+% document as a package or with the package option |es-preindex|.
+%
+% \begin{macrocode}
+%<*indexes>
+\makeatletter
+
+\@ifundefined{es@idxfile}
+ {\def\spanishindexchars#1#2#3{%
+ \edef\es@encap{`\expandafter\noexpand\csname\string#1\endcsname}%
+ \edef\es@openrange{`\expandafter\noexpand\csname\string#2\endcsname}%
+ \edef\es@closerange{`\expandafter\noexpand\csname\string#3\endcsname}}%
+ \spanishindexchars{|}{(}{)}%
+ \ifx\documentclass\@twoclasseserror
+ \edef\es@idxfile{\jobname}%
+ \AtEndDocument{%
+ \addto\@defaultsubs{%
+ \immediate\closeout\@indexfile
+ \input{romanidx.sty}}}%
+ \expandafter\endinput
+ \fi}{}
+
+\newcount\es@converted
+\newcount\es@processed
+
+\def\es@split@file#1.#2\@@{#1}
+\def\es@split@ext#1.#2\@@{#2}
+
+\@ifundefined{es@idxfile}
+ {\typein[\answer]{^^JArchivo que convertir^^J%
+ (extension por omision .idx):}}
+ {\let\answer\es@idxfile}
+
+\@expandtwoargs\in@{.}{\answer}
+\ifin@
+ \edef\es@input@file{\expandafter\es@split@file\answer\@@}
+ \edef\es@input@ext{\expandafter\es@split@ext\answer\@@}
+\else
+ \edef\es@input@file{\answer}
+ \def\es@input@ext{idx}
+\fi
+
+\@ifundefined{es@idxfile}
+ {\typein[\answer]{^^JArchivo de destino^^J%
+ (archivo por omision: \es@input@file.eix,^^J%
+ extension por omision .eix):}}
+ {\let\answer\es@idxfile}
+\ifx\answer\@empty
+ \edef\es@output{\es@input@file.eix}
+\else
+ \@expandtwoargs\in@{.}{\answer}
+ \ifin@
+ \edef\es@output{\answer}
+ \else
+ \edef\es@output{\answer.eix}
+ \fi
+\fi
+
+\@ifundefined{es@idxfile}
+ {\typein[\answer]{%
+ ^^J?Se ha usado algun esquema especial de controles^^J%
+ de MakeIndex para encap, open_range o close_range?^^J%
+ [s/n] (n por omision)}}
+ {\def\answer{n}}
+
+\if s\answer
+ \typein[\answer]{^^JCaracter para 'encap'^^J%
+ (\string| por omision)}
+ \ifx\answer\@empty\else
+ \edef\es@encap{%
+ `\expandafter\noexpand\csname\expandafter\string\answer\endcsname}
+ \fi
+ \typein[\answer]{^^JCaracter para 'open_range'^^J%
+ (\string( por omision)}
+ \ifx\answer\@empty\else
+ \edef\es@openrange{%
+ `\expandafter\noexpand\csname\expandafter\string\answer\endcsname}
+ \fi
+ \typein[\answer]{^^JCaracter para 'close_range'^^J%
+ (\string) por omision)}
+ \ifx\answer\@empty\else
+ \edef\es@closerange{%
+ `\expandafter\noexpand\csname\expandafter\string\answer\endcsname}
+ \fi
+\fi
+
+\newwrite\es@indexfile
+\immediate\openout\es@indexfile=\es@output
+
+\newif\ifes@encapsulated
+
+\def\es@scroman#1{#1}
+\edef\es@slash{\expandafter\@gobble\string\\}
+
+\def\indexentry{%
+ \begingroup
+ \@sanitize
+ \es@indexentry}
+
+\begingroup
+
+\catcode`\|=12 \lccode`\|=\es@encap\relax
+\catcode`\(=12 \lccode`\(=\es@openrange\relax
+\catcode`\)=12 \lccode`\)=\es@closerange\relax
+
+\lowercase{
+\gdef\es@indexentry#1{%
+ \endgroup
+ \advance\es@processed\@ne
+ \es@encapsulatedfalse
+ \es@bar@idx#1|\@@
+ \es@idxentry}%
+}
+
+\lowercase{
+\gdef\es@idxentry#1{%
+ \in@{\es@scroman}{#1}%
+ \ifin@
+ \advance\es@converted\@ne
+ \immediate\write\es@indexfile{%
+ \string\indexentry{\es@b|\ifes@encapsulated\es@p\fi esromanindex%
+ {\ifx\es@a\@empty\else\es@slash\es@a\fi}}{#1}}%
+ \else
+ \immediate\write\es@indexfile{%
+ \string\indexentry{\es@b\ifes@encapsulated|\es@p\es@a\fi}{#1}}%
+ \fi}
+}
+
+\lowercase{
+\gdef\es@bar@idx#1|#2\@@{%
+ \def\es@b{#1}\def\es@a{#2}%
+ \ifx\es@a\@empty\else\es@encapsulatedtrue\es@bar@eat#2\fi}
+}
+
+\lowercase{
+\gdef\es@bar@eat#1#2|{\def\es@p{#1}\def\es@a{#2}%
+ \edef\es@t{(}\ifx\es@t\es@p
+ \else\edef\es@t{)}\ifx\es@t\es@p
+ \else
+ \edef\es@a{\es@p\es@a}\let\es@p\@empty%
+ \fi\fi}
+}
+
+\endgroup
+
+\input \es@input@file.\es@input@ext
+
+\immediate\closeout\es@indexfile
+
+\typeout{*****************}
+\typeout{Se ha procesado: \es@input@file.\es@input@ext }
+\typeout{Lineas leidas: \the\es@processed}
+\typeout{Lineas convertidas: \the\es@converted}
+\typeout{Resultado en: \es@output}
+\ifnum\es@converted>\z@
+ \typeout{Genere el indice a partir de ese archivo}
+\else
+ \typeout{No se ha convertido nada. Se puede generar}
+ \typeout{el .ind directamente de \es@input@file.\es@input@ext}
+\fi
+\typeout{*****************}
+
+\@ifundefined{es@sdef}{\@@end}{}
+
+\endinput
+%</indexes>
+% \end{macrocode}
+%
+% \Finale
+%
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%
+% Local Variables:
+% mode: doctex
+% coding: utf-8
+% End: \ No newline at end of file
diff --git a/macros/latex/contrib/babel-contrib/spanish/spanish.ins b/macros/latex/contrib/babel-contrib/spanish/spanish.ins
new file mode 100644
index 0000000000..20be5cc9e3
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/spanish/spanish.ins
@@ -0,0 +1,100 @@
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the doc files in this package when run through
+%% LaTeX or TeX.
+%%
+%% Copyright (C) 1997 - 2014
+%% Javier Bezos (www.tex-tipografia.com)
+%% and
+%% CervanTeX (www.cervantex.es)
+%%
+%% It may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3 of this license or
+%% (at your option) any later version. The latest version of this
+%% license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Javier Bezos
+%%
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension .ins) which are part of the distribution.
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\def\batchfile{spanish.ins}
+\def\filedate{2014/01/30}
+\input docstrip.tex
+
+{\ifx\generate\undefined
+ \Msg{**********************************************}
+ \Msg{*}
+ \Msg{* This installation requires docstrip}
+ \Msg{* version 2.3c or later.}
+ \Msg{*}
+ \Msg{* An older version of docstrip has been input}
+ \Msg{*}
+ \Msg{**********************************************}
+ \errhelp{Move or rename old docstrip.tex.}
+ \errmessage{Old docstrip in input path}
+ \batchmode
+ \csname @@end\endcsname
+\fi}
+
+\declarepreamble\mainpreamble
+This is a generated file.
+
+Copyright (C) 1997 - 2014
+ Javier Bezos (www.tex-tipografia.com)
+ and
+ CervanTeX (www.cervantex.es)
+
+It may be distributed and/or modified under the conditions of the
+LaTeX Project Public License, either version 1.3 of this license or
+(at your option) any later version. The latest version of this
+license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX version
+2003/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is Javier Bezos
+
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
+extension .ins) which are part of the distribution.
+\endpreamble
+
+\usedir{tex/generic/babel}
+
+\keepsilent
+
+\ifx\askover\undefined\else % for personal use
+ \askforoverwritefalse
+\fi
+
+\usepreamble\mainpreamble
+\generate{\file{spanish.ldf}{\from{spanish.dtx}{code}}%
+ \file{romanidx.sty}{\from{spanish.dtx}{indexes}}}
+
+\ifToplevel{
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space All *.def, *.fd, *.ldf, *.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the files ending with}
+\Msg{* '.dtx' and `.fdd' through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+}
+
+\endinput
diff --git a/macros/latex/contrib/babel-contrib/spanish/spanish.pdf b/macros/latex/contrib/babel-contrib/spanish/spanish.pdf
new file mode 100644
index 0000000000..1c92661aae
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/spanish/spanish.pdf
Binary files differ