summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/babel/spanish.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/generic/babel/spanish.dtx')
-rw-r--r--Master/texmf-dist/source/generic/babel/spanish.dtx3607
1 files changed, 1858 insertions, 1749 deletions
diff --git a/Master/texmf-dist/source/generic/babel/spanish.dtx b/Master/texmf-dist/source/generic/babel/spanish.dtx
index 232c2436479..3563516bf80 100644
--- a/Master/texmf-dist/source/generic/babel/spanish.dtx
+++ b/Master/texmf-dist/source/generic/babel/spanish.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1989-2005 Johannes L. Braams and any individual authors
+% Copyright 1989-2008 Johannes L. Braams and any individual authors
% listed elsewhere in this file. All rights reserved.
%
% This file is part of the Babel system.
@@ -26,51 +26,83 @@
% and covered by LPPL is defined by the unpacking scripts (with
% extension .ins) which are part of the distribution.
% \fi
-% \CheckSum{2195}
+% \CheckSum{2143}
% \ProvidesFile{spanish.dtx}
-% [2004/02/20 v4.2b Spanish support from the babel system]
+% [2007/02/21 v5.0a Spanish support from the babel system]
%\iffalse
%% File `spanish.dtx'
%% Babel package for LaTeX version 2e
-%% Copyright (C) 1989 - 2004
+%% Copyright (C) 1989 - 2008
%% by Johannes Braams, TeXniek
%
%% Spanish Language Definition File
-%% Copyright (C) 1997 - 2005
-%% by Javier Bezos (jbezos at wanadoo.es)
-%% Apartado 116.035
-%% E-28080 Madrid
-%% Espa\~na / Espagne
-%% and
-%% by CervanTeX (www.cervantex.org)
+%% Copyright (C) 1997 - 2008
+%% Javier Bezos (www.texytipografia.com)
+%% and
+%% CervanTeX (www.cervantex.org)
%
%% Please report errors to: Javier Bezos (preferably)
-%% jbezos at wanadoo.es
+%% www.texytipografia.com/contact.html
%% J.L. Braams
-%% babel at braams.cistron.nl
+%% www.latex-project.org
%
% 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.
%
%<*filedriver>
+\let\ooverb\verb
\documentclass[spanish,a4paper]{ltxdoc}
+\let\verb\ooverb
\usepackage[activeacute]{babel}
+\usepackage{hyperref}
+
+\let\meta\emph
+
+\usepackage{pslatex}
+\usepackage{mathptmx}
+\usepackage{color}
+\usepackage[cp1252]{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}
+
+%\makeindex
-%\usepackage{ps}
-
-\newcommand*\TeXhax{\TeX hax}
\newcommand*\babel{\textsf{babel}}
-\newcommand*\langvar{$\langle \it lang \rangle$}
-\newcommand*\note[1]{}
-\newcommand*\Lopt[1]{\textsf{#1}}
\newcommand*\file[1]{\texttt{#1}}
\setlength{\arrayrulewidth}{2\arrayrulewidth}
-\newcommand\toprule{\cline{1-2}\\[-2ex]}
-\newcommand\botrule{\\[.6ex]\cline{1-2}}
+\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%\hspace{-\leftmargini}%
+ \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}}
@@ -86,10 +118,11 @@
\newcommand\MEA[1]{\lsc{MEA},~#1}
\raggedright
-\setlength{\parindent}{1em}
+\setlength{\parindent}{0em}
+\setlength{\parskip}{3pt}
-\addtolength{\oddsidemargin}{-2pc}
-\addtolength{\textwidth}{4pc}
+\addtolength{\oddsidemargin}{-4pc}
+\addtolength{\textwidth}{7pc}
\OnlyDescription
\begin{document}
@@ -99,244 +132,358 @@
%\fi
%
% \begingroup
-%
-% \catcode`\{=11
-% \catcode`\[=1
-%
-% \gdef\ignoringuser[^^A
-% \bgroup
-% \let\end{userdtx\fi
-% \let\end{userdrv\fi
-% \aftergroup\endgroup
-% \catcode`\{=11
-% \catcode`f=14 ^^A kills \if... and \fi
-% \catcode`l=14 ^^A kills \else
-% \catcode`o=14 ^^A kills \or
-% \catcode`p=14 ^^A kills \repeat
-% \iffalse}
-%
-% \endgroup
-%
-% \newenvironment{userdtx}
-% {\ifx\langdeffile\undefined
-% \else\expandafter\ignoringuser
-% \fi}{}
-%
-% \newenvironment{userdrv}
-% {\ifx\langdeffile\undefined
-% \expandafter\ignoringuser
-% \else\fi}{}
+% \ifx\langdeffile\undefined
%
-% \begin{userdtx}
%^^A ======= Beginning of text as typeset by spanish.dtx =========
%
+%
% \title{Estilo \textsf{spanish}\\
-% para el sistema \babel.\footnote{Este
-% archivo est\'a actualmente en la versi\'on
-% 4.2b con fecha 12 de septiembre del 2003. ^^A@#
-% Esta copia del manual se compuso el~\today.}}
-%
-% \author{Javier Bezos\footnote{Por favor, env\'{\i}en
-% comentarios y sugerencias a \texttt{jbezos@wanadoo.es}
-% o a mi direcci\'on postal: Apartado 116.035, E-28080 Madrid,
-% Espa'na / Espagne. Han colaborado de una u otra forma muchas
-% personas, a las cuales agradezco sus comentarios y sugerencias.
-% Para m'as informaci'on sobre los criterios seguidos, v'ease la
-% referencia: Javier Bezos, \textit{Tipograf'ia espa'nola con
-% \TeX.} Para informaci'on sobre actualizaciones:
-% http://www.cervantex.org/}}
-%
-% \date{12 de septiembre del 2003} ^^A@#
+% para el sistema \babel.\footnote{Este
+% archivo est\'a actualmente en la versi\'on
+% 5.0a con fecha 21 de febrero del 2007. ^^A@#
+% Esta copia del manual se compuso el~\today.}}
+%
+% \author{Javier Bezos\footnote{Por favor, env\'{\i}en comentarios y
+% sugerencias en http://www.texytipografia.com/contact.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 m'as informaci'on
+% sobre los criterios seguidos, v'ease la referencia: Javier Bezos,
+% \textit{Tipograf'ia espa'nola con \TeX.} Para informaci'on sobre
+% actualizaciones: http://www.cervantex.org/}}
+%
+% \date{21 de febrero del 2007} ^^A@#
%
% \maketitle
%
% {\small\tableofcontents}
%
-%% \section{\textsf{spanish} como lengua principal}
-%
-% En \babel{} se considera que la 'ultima lengua citada en |\usepackage| y
-% |\documentclass|, por este orden, es la lengua principal. Si la
-% lengua principal es |spanish|, \New{4.1} se activa el grupo
-% |\layoutspanish| que adapta varios elementos
-% a los usos tipogr'aficos espa'noles del siguiente modo:
+% \section*{Símbolos empleados}
%
% \begin{itemize}
+% \item[\textcolor{blue}{$\Rightarrow$}] Macros para
+% ser usadas en el texto.
+% \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}
%
-% \item[$\diamond$]
-% |enumerate| e |itemize|\\[1ex]
+% \section{Uso de \textsf{spanish} para babel}
%
-% El primero usa la siguiente secuencia:\,\footnote{No hay raz'on
-% concreta para ella. Es tan s'olo una f'ormula de compromiso.}\\
+% El estilo de \textsf{spanish} para babel tiene con finalidad adaptar una
+% serie de elementos de los documentos de \LaTeX\ a la lengua
+% española, tanto en las traducciones como en la tipografía. Para
+% usarlo, basta con emplear 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 una serie de
+% ajustes tipográficos adicionales. En particular, se modifican
+% 'ordenes 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 muy 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).
+%
+% 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'aficos espa'noles. Estos cambios
+% funcionan con las clases est'andar "+--con otras tal vez alguno de
+% ellos no tenga efecto--- y persisten durante todo el documento.
+% Ninguno de ellos es necesario para componer el documento, aunque
+% naturalmente el resultado ser'a distinto.
+%
+% \subsection{Listas}
+%
+% \begin{decl} \txt |\begin{enumerate} ... \end{enumerate}|%
+% \deact{es-nolists, \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$'$})\\
-% El segundo la siguiente:\\
+% \qquad\qquad \emph{a$'$})
+%
+% \begin{decl} \txt |\begin{itemize} ... \end{itemize}|%
+% \deact{es-nolists, \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$
%
-% \New{4.2}Dos 'ordenes permiten otros estilos en
-% |itemize|: con |\spanishdashitems| se cambia a rayas en todos los
-% niveles, y con |\spanishsignitems|, a \textbullet{} $\circ$
-% $\diamond$ $\triangleright$.
+% \begin{decl}
+% \con |\spanishdashitems \spanishsignitems|
+% \end{decl}
%
-% \item[$\diamond$]
-% |\alph| y |\Alph|\\[1ex]
+% Dos 'ordenes 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'ne.
%
-% \item[$\diamond$]
-% |\fnsymbol|\\[1ex]
+% \begin{decl}
+% \txt |\fnsymbol|\deact{\textit{es-nolayout, es-sloppy}}
+% \end{decl}
%
% Se emplean uno, dos, tres... asteriscos (*, **, ***, etc.),
% en lugar de la sucesi'on angloamericana de cruces, barras,
% etc.\footnote{\DOT{162}.}
%
-% \item[$\diamond$]
-% |\guillemotleft| y |\guillemotright|\\[1ex]
+% \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'umeros romanos en min'uscula,
+% |\roman| se redefine para que los d'e 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 todos 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 la forma en que |\roman|
+% escribe el n'umero de p'agina, por lo que elimina las l'ineas
+% 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'on 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 'indice en p'aginas numeradas con |\roman| (lo
+% cual ser'a lo m'as normal). Si un s'imbolo 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}
+%
+% Finalmente, 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|.
-%
-% \item[$\diamond$]
-% |\roman|\\[1ex]
-%
-% Como en castellano no se usan n'umeros romanos
-% en min'uscula, |\roman| se redefine para que los d'e en
-% versalitas.\footnote{\DTL{197}. Los n'umeros romanos con
-% versalitas son desconocidos en ingl'es, donde se prefiere
-% la min'uscula. En la Europa continental, la situaci'on es
-% justamente la opuesta.}
-%
-% \begin{quote}\small
-% \textbf{Nota.} MakeIndex no puede entender la forma en que
-% |\roman| escribe el n'umero de p'agina, por lo
-% que elimina las l'ineas afectadas. Por ello el archivo |.idx|
-% ha de ser convertido antes de procesarlo con MakeIndex.
-% Con este paquete se proporciona la utilidad |romanidx.tex| que se
-% encarga de ello. Simplemente se compone ese archivo con \LaTeX{}
-% y a continuaci'on se responde a las preguntas que se formulan.
-% Este proceso no es necesario si no se introdujo ninguna
-% entrada de 'indice en p'aginas numeradas con |\roman| (lo cual ser'a
-% lo m'as normal). Si un s'imbolo propio de \emph{MakeIndex} generara
-% problemas, debe encerrarse entre llaves: \verb={"|}=.
-% \end{quote}
+% con unas puntas de flecha de |lasy|. En T1 no hay cambios.
%
-% \item[$\diamond$]
-% |\section|, |\subsection|, etc.\\[1ex]
+% \begin{decl}
+% \txt |\section|, |\subsection|, etc.,
+% |\tableofcontents|\deact{es-nosectiondot, es-noindentfirst, \textit{es-nolayout,
+% es-mininal, es-sloppy}}
+% \end{decl}
%
% Los n'umeros en los t'itulos est'an seguidos de un punto
% tanto en el texto como en el 'indice. Adem'as,
-% el primer p'arrafo tras el t'itulo no elimina la sangr'ia
-% (de nuevo, una costumbre angloamericana).
-%
-% \end{itemize}
-%
-% Estos cambios funcionan con las clases est'andar ~---con otras
-% tal vez alguno de ellos no tenga efecto--- y persisten durante
-% todo el documento (no se pueden desactivar). Ninguno de ellos
-% es necesario para componer el documento, aunque naturalmente el
-% resultado ser'a distinto.
-%
-% \begin{itemize}
-%
-% \item[$\diamond$]
-% |\selectspanish*|\\[1ex]
+% el primer p'arrafo tras el t'itulo no elimina la sangr'ia.
%
-% \New{4.1}Si no se desean estos cambios, basta con usar en el
-% pre'ambulo |\selectspanish*| (con asterisco) o <<borrarlos>> con:
-%\begin{verbatim}
-% \let\layoutspanish\relax
-%\end{verbatim}
+% \begin{decl}
+% \con |es-nolayout|\opp
+% \end{decl}
%
-% \end{itemize}
+% Si no se desea ninguno de estos cambios, basta con usar esta opción
+% de paquete.
%
-% \section{Descripci'on}
+% \section{Traducciones}
%
-% \subsection{Traducciones}
+% \subsection{Nombres}
%
-% Ciertas 'ordenes se definen para
-% proporcionar traducciones al castellano de algunos t'erminos, tal
-% y como se describe en el cuadro 1.
+% \begin{decl}
+% \txt |\refname|, |\tablename|, |\contentsname|, etc.\\
+% \con |\spanishrefname|, |\spanishtablename|, |\spanishcontentsname|, etc.
+% \act{captions}
+% \end{decl}
+%
+% Establecen las traducciones al castellano de algunos t'erminos,
+% 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}
-% \toprule
-% |\refname| & Referencias\\
-% |\abstractname| & Resumen\\
-% |\bibname| & Bibliograf'ia\\
-% |\chaptername| & Cap'itulo\\
-% |\appendixname| & Ap'endice\\
-% |\contentsname| & 'Indice general\nm{a}\\
-% |\listfigurename| & 'Indice de figuras\\
-% |\listtablename| & 'Indice de cuadros\\
-% |\indexname| & 'Indice alfab'etico\\
-% |\figurename| & Figura\\
-% |\tablename| & Cuadro\\
-% |\partname| & Parte\\
-% |\enclname| & Adjunto\\
-% |\ccname| & Copia a\\
-% |\headtoname| & A\\
-% |\pagename| & P'agina\\
-% |\seename| & v'ease\\
-% |\alsoname| & v'ease tambi'en\\
-% |\proofname| & Demostraci'on
-% \botrule
+% \begin{tabular}{l@{\hspace{3em}}l@{\hspace{3em}}l}
+% \toprule3
+% \name{ref} & Referencias\\
+% \name{abstract} & Resumen\\
+% \name{bib} & Bibliograf'ia\\
+% \name{chapter} & Cap'itulo\\
+% \name{appendix} & Ap'endice\\
+% \name{contents} & 'Indice general\nm{a}\\
+% \name{listfigure} & 'Indice de figuras\\
+% \name{listtable} & 'Indice de cuadros\\
+% \name{index} & 'Indice alfab'etico\\
+% \name{figure} & Figura\\
+% \name{table} & Cuadro\\
+% \name{part} & Parte\\
+% \name{encl} & Adjunto\\
+% \name{cc} & Copia a\\
+% \name{headto} & A\\
+% \name{page} & p'agina\\
+% \name{see} & v'ease\\
+% \name{also} & v'ease tambi'en\\
+% \name{proof} & Demostraci'on
+% \botrule3
% \end{tabular}
%
% \vspace{1.5ex}
%
-% \begin{minipage}{6cm}\footnotesize
+% \begin{minipage}{10cm}\footnotesize
% \nt{a} Pero s'olo <<'Indice>> en \textsf{article}.
% \end{minipage}
% \end{table}
%
-% No existe una terminolog'ia unificada.
-% Tal vez \emph{'Indice general} es lo
-% que m'as se usa para el 'indice de los cap'itulos, as'i que a
-% ello me atengo salvo en |article|, donde se compone como secci'on
-% y por tanto resulta algo ostentoso.\footnote{Al contrario que en
-% ingl'es, en castellano el 'indice por antonomasia es el general.}
-%
-% Para el 'indice alfab'etico se ha propuesto \emph{'Indice de
-% materias} o \emph{'Indice anal'itico}, aunque
-% estos 'indices no solamente suelen incluir
-% materias, sino tambi'en nombres; \emph{'Indice alfab'etico} es
-% m'as preciso.\footnote{Es la usada en \DOT{300} as'i
-% como en la mayor'ia de los libros que consult'e al azar en una
-% biblioteca.}
-%
-% En cuanto a los de cuadros y figuras, tambi'en es posible decir
-% \emph{lista}, pero me parece preferible \emph{'indice}, que
-% implica la correspondencia con las p'aginas.
-%
-% Para traducir \emph{table} es mejor \emph{cuadro}, ya que
-% \emph{tabla} es un \emph{falso amigo};\,\footnote{V'eanse las
-% definiciones del \lsc{DRAE} y \DTL{67 ss.}} esa es la pr'actica
-% tradicional. (Por ejemplo, <<cuadro de estados medievales>>
-% frente a <<tabla de logaritmos>>.)
-%
-% Las traducciones se escriben de min'usculas, salvo la inicial.
-% Se evita el anglicismo de comenzar en
-% may'usculas los sustantivos.\footnote{\DOT{197}.}
-%
-% La orden |\today| da la fecha actual. \New{4.2}Aunque al citar
-% a'nos posteriores a 1999 la Academia s'olo admite la supresi'on del
-% art'iculo en cartas y documentos, en la pr'actica se ha extendido
-% esta construcci'on agramatical y as'i se hace aqu'i. Con
-% |\spanishdatedel| y |\spanishdatede| se opta por \textit{del}
-% (recomendado) o \textit{de} (predeterminado).
-%
-% \subsection{Abreviaciones}
-%
-% (Lo que en \babel{} se denomina `shorthands'.) La
-% lista completa se puede encontrar en el cuadro 2. En los
+% \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.
+%
+% \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.
+%
+% \section{Abreviaciones (\textit{shorthands})}
+%
+% La lista completa se puede encontrar en el cuadro 2. En los
% siguientes apartados se dar'an m'as detalles sobre algunas de
% ellas.
%
@@ -344,119 +491,117 @@
% \center\small
% \caption{Abreviaciones}
% \vspace{1.5ex}
-% \begin{tabular}{l@{\hspace{3em}}l}
-% \toprule
+% \begin{tabular}{l@{\hspace{3em}}l@{\hspace{3em}}l}
+% \toprule2
% |'a 'e 'i 'o 'u| & 'a 'e 'i 'o 'u\\
% |'A 'E 'I 'O 'U| & 'A 'E 'I 'O 'U\\
% |'n 'N| & 'n 'N\nm{a}\\
% |"u "U| & "u "U\\
+% |"i "I| & "i "I\\
% |"a "A "o "O| & Ordinales: 1"a, 1"A, 1"o, 1"O\\
-%\llap{\textsf{Nuevo en 4.2 }}\relax
% |"er "ER| & Ordinales: 1"er, 1"ER\\
-% |"c "C| & "c "C\nm{b}\\
-% |"rr "RR| & rr, pero -r cuando se divide\\
+% |"c "C| & "c "C\\
+% |"rr "RR| & rr, pero -r cuando se divide\\
% |"y| & El antiguo signo para <<y>>\\
% |"-| & Como |\-|, pero permite m'as divisiones\\
-% |"=| & Como |-|, pero permite mas divisiones\nm{c}\\
-% |"~| & Gui'on estil'istico\nm{d}\\
-% |~- ~-- ~---| & Como |-|, |--| y |---|, pero sin divisi'on\\
-% |""| & Permite mas divisiones antes y despu'es\nm{e}\\
+% |"=| & Como |-|, pero permite mas divisiones\nm{b}\\
+% |"~| & Gui'on estil'istico\nm{c}\\
+% |"+ "+- "+--| & Como |-|, |--| y |---|, pero sin divisi'on\\
+% |~- ~-- ~---| & Lo mismo que el anterior.\\
+% |""| & Permite mas divisiones antes y despu'es\nm{d}\\
% |"/| & Una barra algo m'as baja\\
-% \verb+"|+ & Divide un logotipo\nm{f}\\
+% \verb+"|+ & Divide un logotipo\nm{e}\\
% |"< ">| & "< ">\\
-% |<< >>| & |\begin{quoting}| |\end{quoting}|\nm{g}\\
-% |?` !`| & ?` !`\nm{h}\\
-%\llap{\textsf{Nuevo en 4.2 }}\relax
-%|"? "!| & "? "! alineados con la linea base\nm{i}
-% \botrule
+% |"` "'| & |\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| debe considerarse en extinci'on.
-% \nt{b} La cedilla ya no se usa, pero se us'o anta'no.
-% \nt{c} |"=| viene a ser lo mismo que |""-""|.
-% \nt{d} Esta abreviaci'on tiene un uso distinto
-% en otras lenguas. \nt{e} Como en <<entrada/salida>>.
-% \nt{f} Carece de uso en castellano. \nt{g} V'ease sec.~2.7.
-% \nt{h} No proporcionadas por este paquete, sino por cada tipo;
-% figuran aqu'i como simple recordatorio. \nt{i} 'Utiles en
-% r'otulos en may'usculas.
+% \nt{a} La forma |~n| no está activada por omisión a partir de
+% la versión 5.
+% \nt{b} |"=| viene a ser lo mismo que |""-""|.
+% \nt{c} Esta abreviaci'on 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'ease sec.~2.7.
+% \nt{g} No proporcionadas por este paquete, sino por cada tipo;
+% figuran aqu'i como simple recordatorio.
+% \nt{h} 'Utiles en r'otulos en may'usculas.
% \end{minipage}
% \end{table}
-%
-% Para poder usar ap'ostrofos como abreviaciones de acentos
-% es necesaria la opci'on |activeacute| en |\usepackage|.
-% Puede cambiarse este comportamiento con
-% la orden |\es@acuteactive| en el archivo de configuraci'on
-% |spanish.cfg|; en ese caso los ap'ostrofos se activan siempre.
-%
-% \New{4.1} La conjunci'on \textit{y} es de por s'i bastante breve,
-% por lo que en espa'nol no se han usado signos sustitutorios
-% desde hace varios siglos. Sin
-% embargo, existe un signo parecido a un dos dado la vuelta, que
-% desapareci'o tras el Renacimento y que se emplea hoy en ediciones
-% paleogr'aficas. Se puede <<imitar>> con |"y|, siempre que se
-% haya cargado el paquete |graphics|; de no ser as'i, se usa la letra
-% $\tau$, aunque la variante normal de \TeX{} no es demasiado
-% apropiada.
-%
+%
% Los caracteres usados como abreviaciones se comportan
% como otras 'ordenes de \TeX{} y por tanto se hace caso
% omiso de los espacios que le puedan seguir: \verb*|' a| es lo mismo
% que |'a|. Eso tambi'en implica que tras esos caracteres no
% puede ir una llave de cierre y que deber'a escribirse
% |{... '{}}| en lugar de |{... '}|; en modo matem'atico no hay
-% problema y |$x^{a'}$| ($x^{a'}$) es v'alido. \New{4.1}
-%
-% \begin{itemize}
+% ningún problema y |$x^{a'}$| ($x^{a'}$) es v'alido.
%
-% \item[$\diamond$]
-% |\deactivatetilden|\\[1ex]
+% \begin{decl}
+% \con |activeacute|\opp
+% \end{decl}
+%
+% Para poder usar ap'ostrofos como abreviaciones de acentos es
+% necesaria esta opci'on en |\usepackage|. Puede cambiarse este
+% comportamiento con la orden |\es@acuteactive| en el archivo de
+% configuraci'on |spanish.cfg|; en ese caso los ap'ostrofos se activan
+% siempre.
+%
+% \begin{decl}
+% \con |es-tilden|\opp
+% \end{decl}
%
-% Esta orden desactiva las abreviaciones |~n| y |~N| debido a
-% los problemas que presentan. Puede usarse en el archivo
-% de configuraci'on (v'ease m'as abajo).
+% Esta orden activa las abreviaciones |~n| y |~N| por compatibilidad
+% con versiones anteriores de \textsf{spanish} (y siempre que no se
+% empleado también |es-notilde|). En la versión 5 no están
+% activadas de forma predeterminada.
%
-% % \item[$\diamond$]
-% |\spanishdeactivate{<caracteres>}|\\[1ex]
+% \begin{decl}
+% \con |\spanishdeactivate|\marg{caracteres}
+% \end{decl}
%
-% \New{4.1}Permite desactivar las abreviaciones correspondientes a los
+% Permite desactivar las abreviaciones correspondientes a los
% caracteres dados. Para evitar entrar en conflicto con otras lenguas,
-% al salir de |spanish| se reactivan,\footnote{El punto para
+% al salir de \textsf{spanish} se reactivan,\footnote{El punto para
% los decimales no es estrictamente una abreviaci'on y no se
% reactiva.} por lo que si se desea que
-% persista hay que a'nadir la orden a |\shorthandsspanish| con
+% persistan hay que a'nadir la orden a |\shorthandsspanish| con
%|\addto|. La orden |\renewcommand\shorthandsspanish{}| es una
% variante optimizada de
%\begin{verbatim}
% \addto\shorthandsspanish{\spanishdeactivate{.'"~<>}}
%\end{verbatim}
-% y es lo recomendado si se desea
-% prescindir del mecanismo de abreviaciones.
-% \end{itemize}
%
+% \begin{decl}
+% \con |es-noshorthands|\opp
+% \end{decl}
+%
+% No activa ninguna abreviación.
+%
% \subsection{Coma decimal}
%
-% Tanto el ingl'es como el castellano y otras lenguas tienen sus
-% formas tradicionales de representar la coma decimal. En ingl'es
-% es algo como $12{\cdot}34$, mientras que en castellano
-% es $12$'$34$. Adem'as, los millares se pueden separar por coma en
-% ingl'es y punto en castellano.\footnote{Excepto en a'nos, donde
-% siempre se escriben las cifras juntas: \emph{1978, 1998}.}
-% Tales formas deben ser descartadas, pues se ha llegado a
-% una normalizaci'on internacional donde los millares se
-% separan por un espacio fino y los decimales con coma.\footnote{%
-% La ISO admite el punto en pa'ises donde haya sido esa
-% la tradici'on, aunque recomienda que se adapten a la coma.}
+% \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) de emplear la coma.
% Ya que \TeX\ usa la coma como separador en intervalos o expresiones
% similares, lo que a'nade un espacio fino, \textsf{spanish}
-% convierte todo punto en modo matem'atico en
-% una coma siempre que est'e seguido de una cifra, pero no en otras
-% circunstancias:
+% interpreta todo punto en modo matem'atico de esta forma siempre
+% que est'e 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.$\\
@@ -464,12 +609,20 @@
% |1.000| \> 1.000, pues no es modo matem'atico.
% \end{tabbing}\end{quote}
%
-% Las 'ordenes |\decimalcomma| y |\decimalpoint|
-% establecen si se usa una coma, que es el valor predeterminado,
-% o un punto, mientras que |\spanishdecimal{<math>}| permite darle
-% una definici'on arbitraria.\footnote{Internamente el mecanismo es
-% de una abreviaci'on, y se puede desactivar como las otras.
-% \textsf{Nuevo 4.2}}
+%
+% \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'on arbitraria.
+%
+% \begin{decl}
+% \con |es-nodecimaldot|\opp
+% \end{decl}
+%
+% Cancela por completo el mecanismo del punto decimal.
%
% \subsection{Divisi'on de palabras}
%
@@ -479,6 +632,11 @@
% la divisi'on, que pese a todo nunca ser'a perfecta, mientras que con
% |T1| se accede directamente al car'acter correspondiente.
%
+% \begin{decl}
+% \txt |"- "= "~|\act{shorthands}
+% \deact{\textit{es-noshorthands, es-sloppy}}
+% \end{decl}
+%
% Para matizar la divisi'on de palabras hay cuatro posibilidades, dos
% de ellas con el m'etodo de abreviaciones:
% \begin{itemize}
@@ -510,25 +668,36 @@
% 'Este es un comportamiento correcto.}
% \end{quote}
%
-% Adem'as. hay abreviaciones que evitan
-% divisiones: |~-|, que resulta 'util para expresar una serie de
-% n'umeros sin que el gui'on 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'on entre la raya de abrir y
-% la palabra que le sigue:
-% \begin{quote}\small\begin{tabbing}
-% |Los conciertos ~---o academias--- que organiz'o...|
-% \end{tabbing}\end{quote}
-% Mientras que este gui'on evita toda posible divisi'on en los
-% elementos que une, la raya (---) y la semirraya (--) las permiten
-% en las palabras que le precedan o le sigan.
-%
% La abreviaci'on |"~| se usa cuando se quiere que el gui'on
% tambi'en aparezca al comienzo de la siguiente l'inea. 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 'util para expresar una serie
+% de n'umeros sin que el gui'on 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'on entre la
+% raya de abrir y la palabra que le sigue:
+% \begin{quote}\small\begin{tabbing}
+%|Los conciertos ~---o % academias--- que organiz'o...|
+% \end{tabbing}\end{quote}
+%
+% También pueden emplearse para esta misma función las abreviaciones
+% |"+|, |"+-| y |"+---|. Mientras que este gui'on evita toda posible
+% divisi'on en los elementos que une, la raya (---) y la semirraya
+% (--) las permiten en las palabras que le precedan o le sigan.
+%
% Otra abreviaci'on es |"rr| que sirve para el
% 'unico cambio de escritura del castellano en caso de haber divisi'on.
% La \lsc{RAE} indica que al a'nadir un prefijo que termina en vocal a
@@ -542,99 +711,148 @@
% aplicarse o no, aunque la opini'on mayoritaria actual est'a en
% contra.
%
-% \subsection{Ordinales}
-%
-% Las abreviaturas siempre llevan punto, salvo algunas en que
-% se sustituye por una barra (y salvo las siglas y s'imbolos,
-% naturalmente), que precede a las letras voladitas.\footnote{Puede
-% comprobarse en \DTL{196}. V'ease tambi'en \DOT{222 y 227}.}
-% Por ello, \textsf{spanish} proporciona la orden
-% |\sptext| que facilita la creaci'on de estas abreviaturas. Por
-% ejemplo: |adm\sptext{'on}| que da adm\sptext{'on}. Hay seis abreviaciones
-% asociadas a ordinales: |"a|, |"A|, |"o|, |"O|, |"er| y |"ER| que equivalen a
-% |\sptext{a}|, etc.\footnote{Muchos tipos a'naden
-% un peque'no subrayado que debe evitarse, y por tanto no se debe
-% escribir los ordinales con \textsf{inputenc}.}
+% \subsection{Otros}
+%
+% \begin{decl}
+% \txt |"/|\act{shorthands}\deact{\textit{es-noshorthands, es-sloppy}}
+% \end{decl}
+%
+% Es una utilidad tipogr'afica m'as que espec'ificamente espa'nola.
+% En ciertos tipos, como Times, el extremo inferior de la barra est'a
+% en la l'inea de base y expresiones como <<am/pm>> resultan poco
+% est'eticas. |"/| produce una barra que, de ser necesario, se baja
+% ligeramente. Computer Modern tiene una barra bien dise'nada y no es
+% posible ilustrar aqu'i este punto pero en todo caso se escribir'ia
+% |am"/pm|.\footnote{En \MEA{141} se recurre a una soluci'on que es la
+% 'unica sencilla en programas de maquetaci'on: usar un cuerpo menor.
+% Pero con \TeX{} es mucho m'as f'acil automatizar las tareas.}
+%
+% \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'i, 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{'on}| que da adm\sptext{'on}. Hay seis
+% abreviaciones asociadas a ordinales: |"a|, |"A|, |"o|, |"O|, |"er| y
+% |"ER| que equivalen a |\sptext{a}|, etc. Muchos tipos
+% a'naden un peque'no subrayado que debe evitarse, y por tanto no se
+% deben escribir los ordinales con \textsf{inputenc}.
%
% Para ajustar el tama'no lo mejor posible, se usa el de
% 'indices en curso. Esto funciona bien salvo para tama'nos muy
% grandes o muy peque'nos, donde los resultados son meramente
% aceptables.
%
-% \New{4.1}En Plain \TeX{} se ejecuta la orden |\sptextfont| para la
+% En Plain \TeX{} se ejecuta la orden |\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'en las variantes
% matem'aticas con |\newfam|.
+%
+% \subsection{Espaciado}
%
-% \subsection{Funciones matem'aticas}
+% Salvo excepciones, el espaciado espa'nol difiere relativamente poco
+% del ingl'es; una de ellas es que en \textsf{spanish} |\frenchspacing|
+% est'a activo.
+%
+% \begin{decl}
+% \txt |\...|\act{text}\deact{\textit{es-sloppy}}
+% \end{decl}
%
-% Tradicionalmente, se han formado las abreviaciones
-% de lo que en \TeX\ se conocen como operadores a partir
-% del nombre castellano, lo que implica la presencia del
-% acento en l'im (en sus tres formas |\lim|, |\limsup| y |\liminf|),
-% m'ax, m'in, 'inf y m'od (en sus dos
-% formas |\bmod| y |\pmod|).
+% 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'en podr'ian escribirse los tres puntos sin m'as |...|, y en
+% la pr'actica 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).
%
-% Con |spanish| pueden seguirse varias convenciones con ayuda
-% de las siguientes 'ordenes:
-% \begin{itemize}
-% \item[$\diamond$] |\accentedoperators| |\unaccentedoperators|\\[1ex]
-% Activa o desactiva los acentos.
-% Por omisi'on se acent'uan, como por ejemplo: $\lim_{x\to 0}(1/x)$
-% (|$\lim_{x\to 0}(1/x)$|).
+% \begin{decl}
+% \txt |\%|\act{text}\deact{\textit{es-minimal, es-sloppy}}
+% \end{decl}
+%
+% Se añade un espacio fino antes del signo (que
+% m'as exactamente es |\,|, 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'itulo \lsc{II}| \quad \= cap'itulo \lsc{II}.
+% \end{tabbing}\end{quote}
%
-% \item[$\diamond$] |\spacedoperators| |\unspacedoperators|\\[1ex]
-% Activa o desactiva el espacio entre "<arc"> y la funci'on.
-% Lo habitual ha sido con espacio; as'i pues, por omisi'on
-% se espacia.
-% \end{itemize}
+% Para evitar que con un tipo que carece de versalitas acabe
+% apareciendo (por substituci'on) un texto de min'usculas se intenta
+% usar en estos casos las versales \emph{reales} de un tama'no menor
+% (\LaTeX\ tiende a sustituir versalitas por versalitas, pero hay
+% excepciones, como con las negritas).
%
-% La i sin punto tambi'en es accesible directamente en modo
-% matem'atico con la orden |\dotlessi|, de forma que se puede escribir
-% |\acute{\dotlessi}|. Por ejemplo,
-% |$V_{\mathbf{cr\acute{\dotlessi}t}}$| da
-% $V_{\mathbf{cr\acute{\dotlessi}t}}$.
+% \begin{decl}
+% \txt |\'i|\alw
+% \end{decl}
%
-% Tambi'en se a'naden |\sen|, |\arcsen|, |\tg| y |\arctg|,
-% que dan las funciones respectivas. Otras funciones trigonom'etricas
-% se encuentran almacenadas en el par'ametro |\spanishoperators|, que
-% inicialmente incluye cotg, cosec, senh y tgh. La raz'on por la que
-% estas funciones se han separado es porque ~---al contrario que sen
-% y tg~--- su forma est'a lejos de estar normalizada en el 'ambito
-% 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 |spanish| se crean
-% 'ordenes con esos nombres
-% y que dan esas funciones (siempre con |\nolimits|). Adem'as de
-% las letras sin acentuar se aceptan las 'ordenes |\,| y |\acute|, que
-% se pasan por alto para formar el nombre. \New{4.2}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'e en el pre'ambulo del
-% documento en s'i, antes de |\selectspanish| o de
-% |\begin{document}|.
+% Lo mismo que |\'{\i}|.
%
% \subsection{Entrecomillados}
%
+% \begin{decl}
+% \txt |\begin{quoting} ... \end{quoting}|\alw
+% \end{decl}
+%
% El entorno |quoting| entrecomilla un
% texto, a'nadiendo comillas de seguir al comienzo de
% cada p'arrafo en su interior.\footnote{Se puede encontrar
% una detallada exposici'on de las comillas en \DTL{44 ss.} De ah'i
% se ha tomado alg'un ejemplo.}
-% Tambi'en se pueden emplear las
-% abreviaciones |<<| 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'uan dando sin m'as los
-% caracteres de comillas de abrir y cerrar, respectivamente.
+%
+% \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'en 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'uan dando sin m'as los caracteres de comillas de
+% abrir y cerrar, respectivamente.
%
% Por ejemplo:
%\begin{verbatim}
@@ -652,6 +870,9 @@
%
% 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}
@@ -660,32 +881,10 @@
% pero en principio no implica un nuevo p'arrafo, ya que
% est'a pensado para ser usado tambi'en en el texto.
%
-% En caso de anidar entornos |quoting|, se modifican las comillas
-% de los niveles interiores, que tambi'en se a'naden a las de seguir:
-%\begin{verbatim}
-% <<El di'alogo se desarroll'o de esta forma:
-%
-% <<---Yo no he sido ---grit'o Antonio.
-%
-% ---Pero has colaborado ---asegur'o Rafael>>.
-%
-% Pero all'i no se aclar'o nadie.>>
-%\end{verbatim}
-%
-% \begin{quotation}\small
-% <<El di'alogo se desarroll'o de esta forma:
-%
-% <<---Yo no he sido ---grit'o Antonio.
-%
-% ---Pero has colaborado ---asegur'o Rafael>>.
-%
-% Pero all'i no se aclar'o nadie.>>
-% \end{quotation}
-%
-% \begin{itemize}
-% \item[$\diamond$]
-% |\lquoti| |\rquoti| |\lquotii| |\rquotii| |\lquotiii|
-% |\rquotiii|\\[1ex]
+% \begin{decl}
+% \con |\lquoti| |\rquoti| |\lquotii| |\rquotii| |\lquotiii|
+% |\rquotiii|
+% \end{decl}
%
% Controlan las comillas en |quoting|, seg'un el
% nivel en que nos encontremos. |\lquoti| son las comillas de abrir
@@ -697,54 +896,32 @@
% \caption{Entrecomillados}
% \vspace{1.5ex}
% \begin{tabular}{l@{\hspace{5em}}l}
-% \toprule
+% \toprule2
% |\lquoti| &|"<|\\
% |\rquoti| &|">|\\
% |\lquotii| &|``|\\
% |\rquotii| &|''|\\
% |\lquotiii| &|`|\\
% |\rquotiii| &|'|
-% \botrule
+% \botrule2
% \end{tabular}
% \end{table}
%
-% \newenvironment{dialog}
-% {\def\lquoti{}\begin{quoting}---\ignorespaces}
-% {\def\rquoti{}\end{quoting}}
-%
-% Las comillas de seguir tambi'en se emplean en di'alogos, incluso
-% si no las hay de abrir y cerrar. Con la ayuda del siguiente
-% entorno,
-%\begin{verbatim}
-% \newenvironment{dialog}
-% {\def\lquoti{}\begin{quoting}---\ignorespaces}
-% {\def\rquoti{}\end{quoting}}
-%\end{verbatim}
-% podemos obtener
-% \begin{quotation}\small
-% \begin{dialog}%
-% El di'alogo se desarroll'o de esta forma:
-%
-% <<---Yo no he sido ---grit'o Antonio.
-%
-% ---Pero has colaborado ---asegur'o Rafael>>.
-%
-% Pero all'i no se aclar'o nadie.
-% \end{dialog}
-% \end{quotation}
-%
-% \item[$\diamond$]
-% |\activatequoting \deactivatequoting|\\[1ex]
+% \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'umeros;\,\footnote{Y en |\string\ifnum|,
-% etc. usado por los desarrolladores en los paquetes.} tambi'en
+% comparaciones entre n'umeros;\,\footnote{Y en \texttt{\textbackslash
+% ifnum},
+% \texttt{\textbackslash ifdim}, etc., usado por los desarrolladores en
+% los paquetes.} tambi'en
% resultan inoperantes |@>>>| y |@<<<| de
% \textsf{amstex}.\footnote{Aunque en
% este caso cabe usar los sin'onimos |@)))| y |@(((|.}
-% Por ello, se da posibilidad de cancelarlas y reactivarlas con
-% estas 'ordenes, \New{4.2}aunque si se est'a usando con
+% Por ello, se da la posibilidad de cancelarlas y reactivarlas con
+% estas 'ordenes, aunque si se est'a usando
% \textsf{xmltex} ya se
% desactivan por completo de forma autom'atica. El entorno
% |quoting| siempre permanece disponible.\footnote{Algunos tipos
@@ -753,10 +930,102 @@
% 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'aticas}
%
-% \end{itemize}
+% \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'im (en sus tres formas
+% |\lim|, |\limsup| y |\liminf|), m'ax, m'in, 'inf y m'od (en sus dos
+% formas |\bmod| y |\pmod|).
+%
+% Con \textsf{spanish} pueden seguirse varias convenciones con ayuda
+% de las siguientes 'ordenes:
+% \begin{decl} \con |\accentedoperators| |\unaccentedoperators|
+% \end{decl}
+% Activa o desactiva los acentos.
+% Por omisi'on se acent'uan, como por ejemplo: $\lim_{x\to 0}(1/x)$
+% (|$\lim_{x\to 0}(1/x)$|).
%
-% \subsection{Selecci'on}
+% \begin{decl}
+% \con |\spacedoperators| |\unspacedoperators|
+% \end{decl}
+% Activa o desactiva el espacio entre "<arc"> y la funci'on.
+% Lo habitual ha sido con espacio; as'i pues, por omisi'on
+% se espacia.
+%
+% Tambi'en se a'naden |\sen|, |\arcsen|, |\tg| y |\arctg|,
+% que dan las funciones respectivas.
+% \begin{decl}
+% \con |\spanishoperators|
+% \end{decl}
+%
+% Otras funciones trigonom'etricas se encuentran almacenadas en el
+% par'ametro |\spanishoperators|, que inicialmente incluye cotg,
+% cosec, senh y tgh. La raz'on por la que estas funciones se han
+% separado es porque su forma no está normalizada en el 'ambito
+% 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
+% 'ordenes con esos nombres
+% y que dan esas funciones (siempre con |\nolimits|). Adem'as de
+% las letras sin acentuar se aceptan las 'ordenes |\,| 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'e en el pre'ambulo del
+% documento en s'i, 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'en es accesible directamente en modo
+% matem'atico con la orden |\dotlessi|, de forma que se puede escribir
+% |\acute{\dotlessi}|. Por ejemplo,
+% |$V_{\mathbf{cr\acute{\dotlessi}t}}$| da
+% $V_{\mathbf{cr\acute{\dotlessi}t}}$.
+%
+%
+% \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'on}
+%
+% \begin{decl}
+% |\selectspanish|
+% \end{decl}
%
% Por omisi'on, \babel{} deja <<dormidas>> las lenguas hasta que se
% llega a |\begin{document}| con el fin de evitar conflictos por
@@ -764,18 +1033,17 @@
% se priva de la posibilidad de usar las lenguas en el pre'ambulo
% en 'ordenes como |\savebox|, |\title|, |\newtheorem|, etc.
%
-% La orden |\selectspanish| permite activar |spanish| con sus
+% La orden |\selectspanish| permite activar \textsf{spanish} con sus
% extensiones y abreviaciones antes de
% |\begin{document}|.\footnote{Algunos detalles, que
-% apenas afectan a \texttt{spanish}, siguen sin activarse hasta el
+% apenas afectan a \textsf{spanish}, siguen sin activarse hasta el
% comienzo del documento.}
% De esta forma, podr'iamos decir
%\begin{verbatim}
% \documentclass{book}
% \usepackage[T1]{fontenc}
-% \usepackage[spanish]{babel}
-% \usepackage[latin1]{inputenc}
-% \usepackage[centerlast]{caption2}
+% \usepackage[cp1252]{inputenc}
+% \usepackage[spanish,activeacute,es-notilde]{babel}
% ... % Mas paquetes
%
% \selectspanish
@@ -783,94 +1051,51 @@
% \title{T'itulo}
% \author{Autor}
% \newcommand{\pste}{para"-psicol'ogicamente}
-% \newsavebox{\mybox}
-% \savebox{\mybox}{m'as cosas}
% ... % Mas definiciones
%
% \begin{document}
%\end{verbatim}
-%
-% \subsection{Espaciado}
-%
-% El espaciado espa'nol difiere relativamente poco del ingl'es;
-% sin embargo, el espacio tras los signos de
-% puntuaci'on debe ser mismo que el que hay entre palabras. O dicho en
-% t'erminos de \TeX, |\frenchspacing| est'a activo.
-%
-% Tambi'en en otros dos sitios hay diferencias. El primero son los
-% puntos suspensivos, para los que se define una nueva orden |\...|
-% que los da menos espaciados; con ella \TeX{} preserva
-% el espacio siguiente. Por ejemplo:
-% \begin{quote}\small\begin{tabbing}
-% |\... y solo estaba\... ella.|\quad\=\... y solo estaba\... ella.
-% \end{tabbing}\end{quote}
-% Tambi'en podr'ian escribirse los tres puntos sin m'as |...|, y en
-% la pr'actica 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).
%
-% El segundo sitio es un espacio fino antes del signo |\%| (que
-% m'as exactamente es |\,|, con lo cual se puede "<recuperar"> con
-% su opuesto |\!|, si |\%| no sigue a una cifra).
+% \section{Adaptaci'on}
%
-% \subsection{Miscel'anea}
-%
-% \begin{itemize}
+% \subsection{Opciones por países}
+% \label{paises}
%
-% \item[$\bullet$] La orden |\lsc| se puede usar para siglas
-% en versalitas.
-% Por ejemplo:
-% \begin{quote}\small\begin{tabbing}
-% |\lsc{RAE}| \quad \= \lsc{RAE}\\
-% |\lsc{ReNFe}| \quad \= \lsc{ReNFe}.
-% \end{tabbing}\end{quote}
-% Tambi'en puede ser 'util para algunos usos de los n'umeros
-% romanos:
-% \begin{quote}\small\begin{tabbing}
-% |siglo \lsc{XVII}| \quad \= siglo \lsc{XVII}\\
-% |cap'itulo \lsc{II}| \quad \= cap'itulo \lsc{II}.
-% \end{tabbing}\end{quote}
-%
-% Para evitar que con un tipo que carece de versalitas acabe
-% apareciendo (por substituci'on) un texto de min'usculas se
-% intenta usar en estos casos las versales \emph{reales}
-% de un tama'no menor. Queda simplemente aceptable, pero es mejor que
-% nada. (\LaTeX\ tiende a sustituir versalitas por versalitas,
-% pero hay excepciones, como con las negritas.)
-%
-% \item[$\bullet$] Se puede escribir |\'i| para |\'{\i}|.
-%
-% \item[$\bullet$] Hay una abreviaci'on adicional como utilidad
-% tipogr'afica m'as que espec'ificamente espa'nola. En ciertos
-% tipos, como Times, el extremo inferior de la barra est'a en la
-% l'inea de base y expresiones como <<am/pm>> resultan poco
-% est'eticas. |"/| produce una barra que, de ser necesario,
-% se baja ligeramente. Computer Modern tiene una barra bien
-% dise'nada y no es posible ilustrar aqu'i este punto
-% pero en todo caso se escribir'ia |am"/pm|.\footnote{En \MEA{141}
-% se recurre a una soluci'on que es la 'unica sencilla en
-% programas de maquetaci'on: usar un cuerpo menor. Pero con \TeX{}
-% es mucho m'as f'acil automatizar las tareas.}
+% % \begin{decl} \con |mexico| \quad |mexico-com|
+% \end{decl}
%
-% \end{itemize}
+% 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:
+% 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.
%
-% \section{Adaptaci'on}
% \subsection{Configuraci'on}
%
-% En sus 'ultimas versiones, \babel{} proporciona la posibilidad
+% En sus 'ultimas versiones, \babel{} ofrece la posibilidad
% de cargar autom'aticamente un archivo con el mismo nombre que
% el principal, pero con extensi'on |.cfg|. \textsf{Spanish}
% proporciona unas pocas 'ordenes para ser usadas en este archivo:
-% \begin{itemize}
-% \item[$\diamond$] |\es@activeacute|\\[1ex]
+%
+% \begin{decl}
+% \con |\es@activeacute|
+% \end{decl}
% Activa las abreviaciones con ap'ostrofos, sin que sea
% necesario incluir |activeacute| como opci'on en |\usepackage|.
%
-% \item[$\diamond$] |\es@enumerate{<leveli>}|%
-% |{<levelii>}{<leveliii>}{<leveliv>}|\\[1ex]
-% Cambia los valores preestablecidos por |spanish| para
+% \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'e formato tendr'a el n'umero, seguida
% de cualquier texto. La letra tiene que ser: |1| (ar'abigo),
@@ -883,14 +1108,15 @@
% signo tras ordinal.}).
%
% Esta orden no est'a pensada para hacer cambios elaborados, sino
-% s—lo meros reajustes. Los valores preestablecidos
+% sólo meros reajustes. Los valores preestablecidos
% equivalen a
%\begin{verbatim}
% \es@enumerate{1.}{a)}{1)}{a$'$)}
%\end{verbatim}
%
-% \item[$\diamond$] |\es@itemize{<leveli>}|%
-% |{<levelii>}{<leveliii>}{<leveliv>}|\\[1ex]
+% \begin{decl} \con |\es@itemize{<leveli>}|%
+% |{<levelii>}{<leveliii>}{<leveliv>}|\alw
+% \end{decl}
% Lo mismo para |itemize|, s'olo que los argumentos se
% usan de forma literal. Los valores originales de \LaTeX{} son
% similares a
@@ -899,15 +1125,14 @@
% {\textasteriskcentered}{\textperiodcentered}
%\end{verbatim}
%
-% \item[$\diamond$] |\es@operators|\\[1ex]
+% \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}
% Es buena idea incluirlo si no se van a usar, ya que ahorra memoria.
%
-% \end{itemize}
-%
% Otros ajustes 'utiles en este contexto son |\spanishoperators|,
% |\selectspanish| y |\deactivatequoting|.
%
@@ -917,106 +1142,61 @@
% documento, por lo que si se distribuye conviene adjuntarlo
% con el entorno |filecontents|.
%
-% \subsection{Otros cambios}
-%
-% \begin{itemize}
-%
-% \item La orden |\addto| permite
-% cambiar alguna de las convenciones internas. Esto resulta
-% interesante con las traducciones, ya que las
-% formas proporcionadas pueden no ser las deseadas.
-% Para ello es necesario que |spanish| no est'e seleccionado.
-% Por ejemplo, para cambiar \emph{'Indice de figuras} por
-% \emph{Lista de figuras}:
-%\begin{verbatim}
-% \addto\captionsspanish{%
-% \def\listfigurename{Lista de figuras}}
-%\end{verbatim}
+% \subsection{Pasar opciones desde un paquete o clase}
%
-% \item Para volver a eliminar la sangr'ia tras secci'on:
-%\begin{verbatim}
-% \def\@afterindentfalse{\let\if@afterindent\iffalse}
-% \@afterindentfalse
-%\end{verbatim}
+% \begin{decl} \con |\spanishoptions|
+% \end{decl}
%
-% \item Para que |\roman| proporcione n'umeros romanos en
-% min'uscula, seg'un la forma inglesa:
-%\begin{verbatim}
-% \def\@roman#1{\romannumeral #1}
-%\end{verbatim}
+% 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}
%
-% \item
-% Los extras se encuentran organizados en varios grupos:
+% Las adaptaciones se encuentran organizadas en varios grupos, a los
+% que corresponden sendas macros:
% |\textspanish|, |\mathspanish|,
-% |\shorthandsspanish| y |\layoutspanish|. Pueden
+% |\shorthandsspanish|, |\datespanish| y |\captionsspanish|. Pueden
% cancelarse con:
%\begin{verbatim}
% \renewcommand\textspanish{}
%\end{verbatim}
-%
-% \end{itemize}
%
-% \section{Formatos distintos a \LaTeXe}
+% \section{Plain \TeX}
%
-% El estilo |spanish| funciona con
-% otros formatos, aunque con un subconjunto de las funciones
-% disponibles en \LaTeXe{}. Con Plain hay que hacer
+% Con Plain hay que hacer:
%\begin{verbatim}
% \input spanish.sty
%\end{verbatim}
-% y con \LaTeX2.09, incluir |spanish| entre las opciones de estilo.
%
-% Se incluyen: traducciones, casi todas las abreviaciones, coma
+% Se incluyen: traducciones, casi todas las abreviaciones, coma
% decimal, utilidades para divisi'on de palabras, ordinales en una
% versi'on simplificada (y no muy elegante), funciones matem'aticas,
-% entrecomillados en \LaTeX2.09, |\'i| y espaciado.
-% La selecci'on de la lengua es inmediata al cargar el archivo.
-%
-% En cambio no est'an disponibles: entrecomillados en Plain,
-% |\lsc| ni las adaptaciones proporcionadas por |\layoutspanish|.
-%
-% A partir de esta versi'on, el archivo de configuraci'on
-% se lee siempre, por lo que aquellos que ya est'an escritos
-% espec'ificamante para \LaTeXe{} pueden presentar problemas si se usan
-% con otros formatos. Si las versiones que se usan no son muy antiguas,
-% se puede comprobar el formato con la variable |\fmtname| que vale
-% |LaTeX2e| o |plain|. Por ejemplo
-%\begin{verbatim}
-% \def\temp{LaTeX2e}
-% \ifx\temp\fmtname
-% ...
-% \fi
-%\end{verbatim}
-%
-% \section{Bibliograf'ias}
-%
-% El archivo |esbst.tex| que se genera con \textsf{spanish}
-% sirve para que la utilidad \textsf{custom-bib} trabaje en
-% conjunci'on con \babel. Define una serie de 'ordenes, que pueden
-% consultarse en el propio archivo, que se utilizan para las
-% traducciones si se selecciona |babel| como lengua al generar un
-% estilo bibliogr'afico.
-%
-% \section{Incompatibilidades con versiones anteriores}
-%
-% \begin{itemize}
+% |\'i| y espaciado. La selecci'on de la lengua es inmediata al
+% cargar el archivo.
%
-% \item En versiones de cierta antig"uedad, el actual |activeacute|
-% estaba siempre impl'icito, por lo que ahora la abreviaci'on no se
-% reconoce y en su lugar aparecen ap'ostrofos.
-%
-% \item El t'ermino correspondiente a |\tablename| estaba traducido
-% incorrectamente como <<Tabla>>. Como quiera que <<tabla>> es la
-% palabra con que puede aparecer en el propio texto, o bien puede
-% haber un art'iculo femenino ante |\tablename|, puede reponerse el
-% valor antiguo con:
-%\begin{verbatim}
-% \addto\captionsspanish{%
-% \def\tablename{Tabla}%
-% \def\listtablename{\'Indice de tablas}}
-%\end{verbatim}
+% En cambio no est'an disponibles: entrecomillados,
+% |\lsc| ni las adaptaciones de lengua principal.
%
-% \end{itemize}
+% \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 estando, 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}
@@ -1044,109 +1224,90 @@
% \leftskip0pt \parindent0pt \vspace{6pt}
%
% {\itshape
-% Como normalmente el primer contacto con \TeX{} es por una tesis,
-% cito libros que
-% est'an relacionados con el tema a los que he tenido acceso.
-% Est'an por orden de preferencia; en particular, los dos 'ultimos me
-% parecen poco recomendables.}
-%
-% \parindent-1.5pc \leftskip1.5pc \vspace{3pt}
+% Para otras cuestiones tipogr'aficas, las referencias
+% usadas son, entre otras:}
%
-% Umberto Eco,
-% \textit{C'omo se hace una tesis},
-% Barcelona, Gedisa, 1982.
+% \parindent-1.5pc \leftskip1.5pc \vspace{3pt}
%
-% Antonia Rigo Arnavat y Gabriel Genesc\`a Due'nas,
-% \textit{C'omo presentar una tesis y trabajos de investigaci'on},
-% Barcelona, Eumo-Octaedro, 2002.
+% Asociación de Academias de la Lengua Española,
+% \textit{Diccionario panhispánico de dudas}, Madrid, Santillana, 2005.
%
-% Prudenci Comes,
-% \textit{Gu'ia para la redacci'on y presentaci'on de trabajos
-% cient'ificos, informes t'ecnicos y tesinas},
-% Barcelona, Oikos-Tau, 1971.
+% Javier Bezos,
+% \textit{Tipograf'ia espa'nola con \TeX}, documento electr'onico
+% disponible en
+% \textsf{http://perso.wanadoo.es/jbezos/tipografia.html}.
%
-% Javier Lasso de la Vega,
-% \textit{C'omo se hace una tesis doctoral},
-% Madrid, Fundacion Universitaria Espa~nola, 1977.
+% Bureau International des Poids et mesures,
+% \textit{Le Sist\`{e}me international d'unités},
+% 8"a ed., París, {\footnotesize BIPM}, 2006,
+% \textsf{http://www.bipm.org/""fr/""si/""si\_brochure/}, 2006-11-10.
%
-% Jos'e Romera Castillo y otros,
-% \textit{Manual de estilo},
-% Madrid, Universidad Nacional de Educaci'on a Distancia, 1996.
+% Jorge de Buen,
+% \textit{Manual de diseño editorial,} México, Santillana, 2000.
%
-% Restituto Sierra Bravo,
-% \textit{Tesis doctorales y trabajos de investigaci'on cient'ifica},
-% Madrid, Paraninfo, 1986.
%
-% \parindent0pc \leftskip0pc \vspace{6pt}
+% \textit{The Chicago Manual of Style}, Chicago, University of
+% Chicago Press, 14"a~ed., 1993, esp.~p'ags.~333~-335.
%
-% {\itshape
-% Para otras cuestiones tipogr'aficas, las referencias
-% usadas son, entre otras:}
+% Jos'e Fern'andez Castillo,
+% \textit{Normas para correctores y compositores tip'ografos},
+% Madrid, Espasa-Calpe, 1959.
%
-% \parindent-1.5pc \leftskip1.5pc \vspace{3pt}
-%
-% Javier Bezos,
-% \textit{Tipograf'ia espa'nola con \TeX}, documento electr'onico
-% disponible en
-% \textsf{http://perso.wanadoo.es/jbezos/tipografia.html}.
+% IRANOR [AENOR], Normas \lsc{UNE} n'umeros 5010 (<<Signos
+% matem'aticos>>), 5028 (<<S'imbolos
+% geom'etricos>>) y 5029 (<<Impresi'on de los
+% s'imbolos de magnitudes y unidades y de los n'umeros>>).
+% [Obsoletas.]
%
-% Ra'ul Cabanes Mart'inez,
-% <<El sistema internacional de unidades: ese desconocido>>,
-% \textit{Mundo Electr'onico}, n"o 142, 1984, p'ags.~119~-125.
+% Llerena, Mario,
+% \textit{Un manual de estilo,} Miami, Unilit, 1999.
%
-% \textit{The Chicago Manual of Style}, Chicago, University of
-% Chicago Press, 14"a~ed., 1993, esp.~p'ags.~333~-335.
+% Real Academia Espa'nola,
+% \textit{Esbozo de una nueva gram'atica de la
+% lengua espa'nola}, Madrid, Espasa-Calpe, 1973.
+%
+% V.\ Mart'inez Sicluna,
+% \textit{Teor'ia y pr'actica de la tipograf'ia},
+% Barcelona, Gustavo Gili, 1945.
%
-% Jos'e Fern'andez Castillo,
-% \textit{Normas para correctores y compositores tip'ografos},
-% Madrid, Espasa-Calpe, 1959.
+% Jos'e Mart'inez de Sousa,
+% \textit{Diccionario de ortograf'ia de la lengua espa'nola},
+% Madrid, Paraninfo, 1996.
%
-% IRANOR [AENOR], Normas \lsc{UNE} n'umeros 5010 (<<Signos
-% matem'aticos>>), 5028 (<<S'imbolos
-% geom'etricos>>) y 5029 (<<Impresi'on de los
-% s'imbolos de magnitudes y unidades y de los n'umeros>>).
-% [Obsoletas.]
+% Juan Mart'inez Val, \textit{Tipograf'ia pr'actica}, Madrid,
+% Laberinto, 2002.
%
-% Real Academia Espa'nola,
-% \textit{Esbozo de una nueva gram'atica de la
-% lengua espa'nola}, Madrid, Espasa-Calpe, 1973.
-%
-% V.\ Mart'inez Sicluna,
-% \textit{Teor'ia y pr'actica de la tipograf'ia},
-% Barcelona, Gustavo Gili, 1945.
+% Juan Jos'e Morato, \textit{Gu'ia pr'actica del compositor
+% tipogr'afico}, Madrid, Hernando, 2"a ed., 1908 (1"a ed., 1900,
+% 3"a ed., 1933).
%
-% Jos'e Mart'inez de Sousa,
-% \textit{Diccionario de ortograf'ia de la lengua espa'nola},
-% Madrid, Paraninfo, 1996.
+% Marion Neubauer,
+% <<Feinheiten bei wissenschaftlichen Publikationen>>,
+% \textit{Die \TeX nisches Kom\"odie}, parte I, vol. 8, n"o 4, 1996,
+% p'ags. 23-40; parte II, vol. 9, n"o 1, 1997, p'ags.~25~-44.
%
-% Juan Mart'inez Val, \textit{Tipograf'ia pr'actica}, Madrid,
-% Laberinto, 2002.
+% Notimex, \textit{Manual de operación y estilo editorial}, México,
+% Notimex, 1999.
%
-% Juan Jos'e Morato, \textit{Gu'ia pr'actica del compositor
-% tipogr'afico}, Madrid, Hernando, 2"a ed., 1908 (1"a ed., 1900,
-% 3"a ed., 1933).
+% Jos'e Polo,
+% \textit{Ortograf'ia y ciencia del lenguaje}, Madrid, Paraninfo,
+% 1974.
%
-% Marion Neubauer,
-% <<Feinheiten bei wissenschaftlichen Publikationen>>,
-% \textit{Die \TeX nisches Kom\"odie}, parte I, vol. 8, n"o 4, 1996,
-% p'ags. 23-40; parte II, vol. 9, n"o 1, 1997, p'ags.~25~-44.
+% Siglo 21, \textit{Libro de estilo}, México, Alda,
+% $\mathrm{^s}\!$/$\mathrm{_f}$
+% (impr. 1995).
%
-% Jos'e Polo,
-% \textit{Ortograf'ia y ciencia del lenguaje}, Madrid, Paraninfo,
-% 1974.
+% Pedro Valle,
+% \textit{C'omo corregir sin ofender}, Buenos Aires, Lumen, 1998.
%
-% Pedro Valle,
-% \textit{C'omo corregir sin ofender}, Buenos Aires, Lumen, 1998.
+% Hugh C. Wolfe, <<S'imbolos, unidades y nomenclatura>>,
+% \textit{Enciclopedia de F'isica}, dir. Rita G. Lerner y George L.
+% Trigg, Madrid, Alianza, 1987, t.~2, p'ags.~1423~-1451.
%
-% Hugh C. Wolfe, <<S'imbolos, unidades y nomenclatura>>,
-% \textit{Enciclopedia de F'isica}, dir. Rita G. Lerner y George L.
-% Trigg, Madrid, Alianza, 1987, t.~2, p'ags.~1423~-1451.
+%\endgroup
%
-% \endgroup
+% \else
%
-% \end{userdtx}
-%
-% \begin{userdrv}
%^^A ======= Beginning of text as typeset by user.drv =========
%
% \GetFileInfo{spanish.dtx}
@@ -1155,40 +1316,44 @@
%
% The file \file{\filename}\footnote{The file described in this
% section has version number \fileversion\ and was last revised on
-% \filedate. The original author from v4.0 on is Javier
-% Bezos. Previous versions were by Julio S\'anchez.} defines all the
-% language-specific macros for the Spanish language.
-%
-% Custumization is made following mainly the
-% books on the subject by Jos\'e Mart\'\i nez de Sousa.
-% By typesetting |spanish.dtx| directly you will get the full
-% documentation (regrettably is in Spanish only, but it is
-% pretty long). References in this part refers to that document.
-% There are several aditional features documented in the Spanish
-% version only.
-%
-% This style provides:
+% \filedate. The maintainer from v4.0 on is Javier Bezos
+% (http://www.texytipografia.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. You may get the the full
+% documentation (more comprehensive, but regrettably only in Spanish)
+% by typesetting |spanish.dtx| directly. 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. Note that
-% |"~| has a special meaning in \textsf{spanish}
-% different to other languages, and is used mainly in linguistic
-% contexts.
+% 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. Also for: e, i, o, u (both
+% |'a| & Acute accented a. Works for e, i, o, u, too (both
% lowercase and uppercase).\\
-% |'n| & \~n (also uppercase).\\
-% |~n| & \~n (also uppercase). Deprecated.\\
-% |"u| & \"u (also uppercase).\\
-% |"a| & Ordinal numbers (also |"A|, |"o|, |"O|).\\
-% |"c| & \c{c} (also uppercase).\\
-% |"rr| & rr, but -r when hyphenated\\
+% |'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
@@ -1197,322 +1362,482 @@
% 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. Also for:
-% en-dashes (|~--|) and em-dashes (|~---|). \\
+% |~-| & 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.\\
+% \verb+"|+ & Disable ligatures at this point.\\
% |"<| & Left guillemets.\\
% |">| & Right guillemets.\\
-% |<<| & |\begin{quoting}|. (See text.)\\
-% |>>| & |\end{quoting}|. (See text.)
+% |<<| |>>| & |\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 |\deactivatetilden| deactivates the |~n| and |~N| shorthands.
-%
-% \item \emph{In math mode} a dot followed by a digit is replaced
+% \item |\frenchspacing|.
+%
+% \item \emph{In math mode}, a dot followed by a digit is replaced
% by a decimal comma.
%
-% \item Spanish ordinals and abbeviations with |\sptext|
-% as, for instance, |1\sptext{er}|. The
-% preceptive dot is included.
-%
-% \item Accented functions: l\'\i m, m\'ax, m\'\i n, m\'od. You may
-% globally omit the accents with |\unaccentedoperators|. Spaced
-% functions: arc\,cos, etc. You may globally kill that space with
-% |\unspacedoperators|. |\dotlessi| is provided for use in math mode.
+% \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 |>>|. The command
-% |\deactivatequoting| deactivates these shorthand in case
-% you want to use |<| and |>| in some AMS commands and numerical
-% comparisons.
-%
-% \item The command |\selectspanish| selects the |spanish| language
-% \emph{and} its shorthands. (Intended for the preamble.)
-%
-% \item |\frenchspacing| is used.
-%
-% \item Ellipsis are best typed |...| or, within a sentence, |\...|
-%
-% \item There is a small space before |\%|.
+% 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}
%
-% Just in case |spanish| is the main language, the group
-% |\layoutspanish| is activated, which modifies the standard
-% classes through the whole document (it cannot be deactivated)
-% in the following way:
+% 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., asteriscs.
+% \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 not allowed. However, \textit{MakeIndex}
-% rejects entries containing pages in that format. The |.idx| file must
-% be preprocessed if the document has this kind of entries with
-% the provided |romanidx.tex| tool---just \TeX{} it and follow the
-% instructions.
+% \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 and toc.
+% \item There is a dot after section numbers in titles, headings, and toc.
+%
% \end{itemize}
-% This group is ignored if you write |\selectspanish*| in the
-% preamble.
-%
-% Some additional commands are provided to be used in the
-% |spanish.cfg| file:
-% \begin{itemize}
-% \item With |\es@activeacute| acute accents are always active,
-% overriding the default \textsf{babel} behaviour.
+%
+% 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:
%
-% \item |\es@enumerate| sets the labels to be used by |enumerate|. The
-% same applies to |\es@itemize| and |itemize|.
+% \begin{verbatim}
+% \usepackage[...,spanish,es-nosectiondot,es-nodecimaldot,...]{babel}
%
-% \item |\es@operators| stores the operator commands.
-% All of them are canceled with
-%\begin{verbatim}
-% \let\es@operators\relax
-%\end{verbatim}
+% \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}
-% The commands |\deactivatequoting|, |\deactivatetilden| and
-% |\selectspanish| may be used in this file, too.
+%
+% 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.
%
-% A subset of these commands is provided for
-% use in Plain \TeX{} (with |\input spanish.sty|).
+% \end{itemize}
%
-% \end{userdrv}
+% \fi
+% \endgroup
%
%\StopEventually{}
%
%^^A ========== End of manual ===============
%
-% \begin{userdtx}
+% \ifx\langdeffile\undefined
%
% \section{The Code}
%
-% \end{userdtx}
-%
-% \begin{userdrv}
-%
+% \else
+%
% \subsection{The Code}
%
-% \end{userdrv}
-%
-% \changes{spanish~4.0f}{99/04/12}{Beginning of changes to follow the
-% doc conventions}
-% \changes{spanish~4.0d}{99/03/26}{Changed some parts for babel.ins
-% to generate the files}
-% \changes{spanish~4.0e}{99/04/10}{Adapted to 3.6k with some minor
-% changes, since most of features intended for 3.7 are included
-% now}
-% \changes{spanish~4.0d}{99/03/26}{Restored the test for \cs{LdfInit}.
-% It is redundant for LaTeX209 but not for plain}
-% \changes{spanish~4.0d}{99/03/29}{With a shoddy piece of work, the
-% plain variant works (at last). Instead of inputting
-% \file{babel.def} we input \file{switch.def}. To be changed, I
-% think, since now \file{plain.def} is read twice}
-% \changes{spanish~4.0e}{99/04/10}{Replaced all instances of
-% allowhyphens by \cs{bbl@allowhyphens}}
-% \changes{spanish~4.0g}{99/05/05}{The code introduced the 99/03/29
-% (see above) has been removed}
-% \changes{spanish~4.1a}{99/12/26}{Added \cs{spanishdecimal}.}
-% \changes{spanish~4.1b}{00/06/16}{Added the Spanish et sign.}
-% \changes{spanish~4.1a}{99/12/29}{Modified \cs{@marginparreset}
-% in order to kill the continuing guillemets.}
-% \changes{spanish~4.1a}{00/01/09}{\cs{sptext} protected.}
+% \fi
+%
+% \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.}
%
% This file provides definition for both \LaTeXe{} and non
% \LaTeXe{} formats.
%
-% Identify the |ldf| file.
-%
-% \changes{spanish~4.0g}{99/05/05}{Replaced \cs{ProvidesFile}
-% by \cs{ProvidesLanguage}}
-% \changes{spanish~4.0j}{99/09/18}{Renamed spanish.tex as spanish.lpf}
-%
% \begin{macrocode}
%<*code>
\ProvidesLanguage{spanish.ldf}
- [2005/03/31 v4.2b Spanish support from the babel system]
-% \end{macrocode}
-%
-% The macro |\LdfInit| takes care of preventing that this file is
-% loaded more than once, checking the category code of the
-% \texttt{@} sign, etc.
-% When this file is read as an option, i.e. by the |\usepackage|
-% command, \texttt{spanish} will be an `unknown' language in which
-% case we have to make it known. So we check for the existence of
-% |\l@spanish| to see whether we have to do something here.
-%
-% \changes{spanish~4.0a}{98/09/23}{All files renamed from spanishb
-% to spanish as requested by the Spanish TeX list, since this
-% style should replace the current Spanish option. Julio
-% Sanchez gave up supporting his files and he has withdrawn
-% from his TeX activities. The last distributed version as
-% spanishb was 1.1.}
-% \changes{spanish~4.0a}{98/09/12}{Introduced \cs{LdfInit} setup}
-% \begin{macrocode}
+ [2007/02/21 v5.0a Spanish support from the babel system]
\LdfInit{spanish}\captionsspanish
-\ifx\undefined\l@spanish
- \@nopatterns{Spanish}
- \adddialect\l@spanish0
-\fi
-% \end{macrocode}
-%
-% We define some tools which will be used in that style file:
-% (1) we make sure that |~| is active, (2) |\es@delayed| delays
-% the expansion of the code in conditionals (in fact, quite similar
-% to |\bbl@afterfi|).
-%
-% \changes{spanish~4.0a}{98/09/12}{Test for 209 moved from sty}
-% \changes{spanish~4.1a}{99/12/01}{Introduced the \cs{es@delayed}
-% mechanism for ``conflictive'' conditionals.}
-% \begin{macrocode}
+
\edef\es@savedcatcodes{%
- \catcode`\noexpand\~=\the\catcode`\~
- \catcode`\noexpand\"=\the\catcode`\"}
+ \catcode`\noexpand\~=\the\catcode`\~
+ \catcode`\noexpand\"=\the\catcode`\"}
\catcode`\~=\active
\catcode`\"=12
-\long\def\es@delayed#1\then#2\else#3\fi{%
- #1%
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
- {#2}{#3}}
+
+\ifx\undefined\l@spanish
+ \@nopatterns{Spanish}
+ \adddialect\l@spanish0
+\fi
+
+\def\es@sdef#1{\babel@save#1\def#1}
+
+\@ifundefined{documentclass}
+ {\let\ifes@latex\iffalse}
+ {\let\ifes@latex\iftrue}
% \end{macrocode}
%
-% Two tests are introduced. The first one tells us if the format is
-% \LaTeXe{}, and the second one if the format is plain or any other.
-% If both are false, the format is \LaTeX2.09{}.
+% Package options for spanish. To avoid error messages dummy
+% options are created on the fly when neccessary.
%
% \begin{macrocode}
-\es@delayed
-\expandafter\ifx\csname documentclass\endcsname\relax\then
- \let\ifes@LaTeXe\iffalse
-\else
- \let\ifes@LaTeXe\iftrue
-\fi
-\es@delayed
-\expandafter\ifx\csname newenvironment\endcsname\relax\then
- \let\ifes@plain\iftrue
+\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-nolists,%
+ es-noquoting,es-notilde,es-nodecimaldot}
+ {\spanishplainpercent
+ \let\es@operators\relax}
+\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{%
+ \DeclareOption{es-#1}{}%
+ \@ifpackagewith{babel}{es-#1}{#2}{#3}}%
+
+\def\es@optlayout#1#2{\es@ifoption{#1}{}{\addto\layoutspanish{#2}}}
+
\else
- \let\ifes@plain\iffalse
+
+\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}
%
-% Translations for captions.
+% 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.
%
-% \changes{spanishb~1.1}{98/03/17}{Corrected \cs{indexname} to the
-% promised text}
-% \changes{spanish~4.1c}{00/10/04}{Added \cs{glossaryname}}
% \begin{macrocode}
-\addto\captionsspanish{%
- \def\prefacename{Prefacio}%
- \def\refname{Referencias}%
- \def\abstractname{Resumen}%
- \def\bibname{Bibliograf\'{\i}a}%
- \def\chaptername{Cap\'{\i}tulo}%
- \def\appendixname{Ap\'endice}%
- \def\listfigurename{\'Indice de figuras}%
- \def\listtablename{\'Indice de cuadros}%
- \def\indexname{\'Indice alfab\'etico}%
- \def\figurename{Figura}%
- \def\tablename{Cuadro}%
- \def\partname{Parte}%
- \def\enclname{Adjunto}%
- \def\ccname{Copia a}%
- \def\headtoname{A}%
- \def\pagename{P\'agina}%
- \def\seename{v\'ease}%
- \def\alsoname{v\'ease tambi\'en}%
- \def\proofname{Demostraci\'on}%
- \def\glossaryname{Glosario}}
-
-\expandafter\ifx\csname chapter\endcsname\relax
- \addto\captionsspanish{\def\contentsname{\'Indice}}
-\else
- \addto\captionsspanish{\def\contentsname{\'Indice general}}
-\fi
+\def\captionsspanish{%
+ \es@a{preface}{Prefacio}%
+ \es@a{ref}{Referencias}%
+ \es@a{abstract}{Resumen}%
+ \es@a{bib}{Bibliograf\'{\i}a}%
+ \es@a{chapter}{Cap\'{\i}tulo}%
+ \es@a{appendix}{Ap\'{e}ndice}%
+ \es@a{listfigure}{\'{I}ndice de \es@uclc Ffiguras}%
+ \es@a{listtable}{\'{I}ndice de \expandafter\es@uclc\es@tablename s}%
+ \es@a{index}{\'{I}ndice \es@uclc Aalfab\'{e}tico}%
+ \es@a{figure}{Figura}%
+ \es@a{table}{\expandafter\@firstoftwo\es@tablename}%
+ \es@a{part}{Parte}%
+ \es@a{encl}{Adjunto}%
+ \es@a{cc}{Copia a}%
+ \es@a{headto}{A}%
+ \es@a{page}{p\'{a}gina}%
+ \es@a{see}{v\'{e}ase}%
+ \es@a{also}{v\'{e}ase tambi\'{e}n}%
+ \es@a{proof}{Demostraci\'{o}n}%
+ \es@a{glossary}{Glosario}%
+ \@ifundefined{chapter}
+ {\es@a{contents}{\'Indice}}%
+ {\es@a{contents}{\'Indice \es@uclc Ggeneral}}}
+
+\def\es@a#1{\@namedef{spanish#1name}}
+\captionsspanish
+\def\es@a#1#2{%
+ \def\expandafter\noexpand\csname#1name\endcsname
+ {\expandafter\noexpand\csname spanish#1name\endcsname}}
+\edef\captionsspanish{\captionsspanish}
% \end{macrocode}
%
-% And the date.
-% \changes{spanish~4.2a}{03/08/08}{Added the mechanism to
-% select \textit{del} or \textit{de}}
+% Now two macros for dates (upper and lowercase).
+%
% \begin{macrocode}
+\def\es@month#1{%
+ \expandafter#1\ifcase\month\or Eenero\or Ffebrero\or
+ Mmarzo\or Aabril\or Mmayo\or Jjunio\or Jjulio\or Aagosto\or
+ Sseptiembre\or Ooctubre\or Nnoviembre\or Ddiciembre\fi}
+
+\def\es@today#1{%
+ \ifcase\es@datefmt
+ \the\day~de \es@month#1%
+ \else
+ \es@month#1~\the\day
+ \fi
+ \ de\ifnum\year>1999\es@yearl\fi~\the\year}
+
\def\datespanish{%
- \def\today{\the\day~de \ifcase\month\or enero\or febrero\or
- marzo\or abril\or mayo\or junio\or julio\or agosto\or
- septiembre\or octubre\or noviembre\or diciembre\fi
- \ de\ifnum\year>1999\es@yearl\fi~\the\year}}
+ \def\today{\es@today\@secondoftwo}%
+ \def\Today{\es@today\@firstoftwo}}
+\newcount\es@datefmt
+\def\spanishreverseddate{\es@datefmt\@ne}
\def\spanishdatedel{\def\es@yearl{l}}
\def\spanishdatede{\let\es@yearl\@empty}
\spanishdatede
% \end{macrocode}
%
-% The basic macros to select the language, in the preamble or the
+% 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{%
- \def\selectspanish{%
- \PackageWarning{spanish}{Extra \string\selectspanish ignored}}%
- \es@select}}
-
+ \PackageWarning{spanish}{Extra \string\selectspanish ignored}}%
+ \es@select}}
\@onlypreamble\selectspanish
-
\def\es@select{%
- \let\es@select\@undefined
- \selectlanguage{spanish}%
- \catcode`\"\active\catcode`\~=\active}
+ \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.
-% \changes{spanish~4.0a}{99/11/30}{The extras subdivided into three
-% further groups.}
-% \changes{spanish~4.2a}{03/08/08}{The dot is deactitated, too}
+%
% \begin{macrocode}
\def\extrasspanish{%
- \textspanish
- \mathspanish
- \ifx\shorthandsspanish\@empty
- \spanishdeactivate{."'~<>}%
- \languageshorthands{none}%
- \else
- \shorthandsspanish
- \fi}
+ \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
- \es@reviveshorthands}
-% \end{macrocode}
-%
-% And the first of these sub-groups is defined.
-%
-% \begin{macrocode}
-\addto\textspanish{%
- \babel@save\sptext
- \def\sptext{\protect\es@sptext}}
+ \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@sdef\sptext{\protect\es@sptext}}
+
+\def\es@orddot{.}
% \end{macrocode}
%
% The definition of |\sptext| is more elaborated than that of
@@ -1522,107 +1847,102 @@
% format.
%
% \begin{macrocode}
-\ifes@LaTeXe %<<<<<<
- \newcommand\es@sptext[1]{%
- {.\setbox\z@\hbox{8}\dimen@\ht\z@
- \csname S@\f@size\endcsname
- \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
- \newcommand\es@sptext[1]{%
- {.\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 %<<<<<<
+\ifes@latex
+ \def\es@sptext#1{%
+ {\es@orddot
+ \setbox\z@\hbox{8}\dimen@\ht\z@
+ \csname S@\f@size\endcsname
+ \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}
%
% Now, lowercase small caps. First, we test if there are actual
% small caps for the current font. If not, faked small caps are
% used. The \cs{selectfont} in \cs{es@lsc} could seem redundant,
-% but it's not.
+% but it's not. An intermediate macro allows using an optimized
+% variant for Roman numerals.
%
-% \changes{spanishb~1.1}{98/05/11}{\cs{es@lsc} rewritten to
-% incorporate the procedure so far available in
-% \cs{roman} only}
-% \changes{spanish~4.0e}{99/04/10}{Added \cs{leavevmode}}
% \begin{macrocode}
-\ifes@LaTeXe %<<<<<<
- \addto\textspanish{%
- \babel@save\lsc
- \def\lsc{\protect\es@lsc}}
-
- \def\es@lsc#1{%
- \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
- \PackageInfo{spanish}{Replacing undefined sc font\MessageBreak
- shape by faked small caps}%
- \MakeUppercase{#1}%
- \else
- \MakeLowercase{#1}%
- \fi}}
-\fi %<<<<<<
+\ifes@latex
+ \addto\textspanish{\es@sdef\lsc{\protect\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. This part is not available
-% in Plain, hence the test. Overriding the default |\everypar| is
+% in Plain. Overriding the default |\everypar| is
% a bit tricky.
%
% \begin{macrocode}
\newif\ifes@listquot
-\ifes@plain\else %<<<<<<
- \csname newtoks\endcsname\es@quottoks
- \csname newcount\endcsname\es@quotdepth
-
- \newenvironment{quoting}
- {\leavevmode
- \advance\es@quotdepth1
- \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
+\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 margin par inside quoting, we don't add the
@@ -1630,752 +1950,549 @@
% item labels; otherwise they could appear after the labels.
%
% \begin{macrocode}
- \addto\@marginparreset{\let\es@quotcont\@empty}
-
- \def\es@listquot{%
- \csname rquot\romannumeral\es@quotdepth\endcsname
- \global\es@listquottrue}
-\fi %<<<<<<
+ \addto\@marginparreset{\let\es@quotcont\@empty}
+ \DeclareRobustCommand\es@listquot{%
+ \csname rquot\romannumeral\es@quotdepth\endcsname
+ \global\es@listquottrue}
+\fi
% \end{macrocode}
%
-% Now, the |\frenchspacing|, followed by |\...| and |\%|
+% Now, the |\frenchspacing|, followed by |\...| and |\%|.
%
-% \changes{spanish~4.0e}{99/04/10}{Added ignorespaces to \cs{es@dots}}
-% \changes{spanish~4.1d}{01/09/12}{Now there are two versions of
-% percent sign}
% \begin{macrocode}
\addto\textspanish{\bbl@frenchspacing}
\addto\notextspanish{\bbl@nonfrenchspacing}
-
\addto\textspanish{%
- \let\es@save@dot\.%
- \babel@save\.%
- \def\.{\@ifnextchar.{\es@dots}{\es@save@dot}}}
-
+ \let\es@save@dot\.%
+ \es@sdef\.{\@ifnextchar.{\es@dots}{\es@save@dot}}}
\def\es@dots..{\leavevmode\hbox{...}\spacefactor\@M}
-
-\ifes@LaTeXe %<<<<<<
- \addto\textspanish{%
- \let\percentsign\%%
- \babel@save\%%
- \def\%{\unskip\,\percentsign{}}}
-\else
- \addto\textspanish{%
- \let\percentsign\%%
- \babel@save\%%
- \def\%{\unskip\ifmmode\,\else$\m@th\,$\fi\percentsign{}}}
-\fi
+\def\es@sppercent{\unskip\textormath{$\m@th\,$}{\,}}
+\def\spanishplainpercent{\let\es@sppercent\@empty}
+\addto\textspanish{%
+ \let\percentsign\%%
+ \es@sdef\%{\es@sppercent\percentsign{}}}
% \end{macrocode}
%
-% We follow with the math group.
-% It's not easy to add an accent in an operator.
-% The difficulty is that we must avoid using text (that is,
-% |\mbox|) because we have no control on font and size, and
-% at time we should access |\i|, which is a text
-% command forbidden in math mode. |\dotlessi| must be
-% converted to uppercase if necessary in \LaTeXe. There are
-% two versions, depending on the format.
-%
-% \changes{spanishb~1.1}{98/04/01}{dotless math i handling
-% rewritten}
-% \changes{spanishb~1.1}{98/05/13}{Again rewriten in full. Now
-% that character is accesible as \cs{dotlessi}}
-% \changes{spanish~4.0c}{98/12/07}{Moved from its original place below.
-% Decimal values replaced by hex ones.}
-% \changes{spanish~4.0k}{99/10/12}{Minor improvementes in
-% \cs{es@dotlessi}. Now it behaves like the dotlessi.sty package}
-% \changes{spanish~4.1f}{02/05/17}{\cs{i} not used directly in
-% the upper/lowercase list}
-% \begin{macrocode}
-\addto\mathspanish{%
- \babel@save\dotlessi
- \def\dotlessi{\protect\es@dotlessi}}
-
-\let\nomathspanish\relax %% Unused, but called
-
-\ifes@LaTeXe %<<<<<<
- \def\es@texti{\i}
- \addto\@uclclist{\dotlessi\es@texti}
-\fi %<<<<<<
-
-\ifes@LaTeXe %<<<<<<
- \def\es@dotlessi{%
- \ifmmode
- {\ifnum\mathgroup=\m@ne
- \imath
- \else
- \count@\escapechar \escapechar=\m@ne
- \expandafter\expandafter\expandafter
- \split@name\expandafter\string\the\textfont\mathgroup\@nil
- \escapechar=\count@
- \@ifundefined{\f@encoding\string\i}%
- {\edef\f@encoding{\string?}}{}%
- \expandafter\count@\the\csname\f@encoding\string\i\endcsname
- \advance\count@"7000
- \mathchar\count@
- \fi}%
- \else
- \i
- \fi}
-\else %<<<<<<
- \def\es@dotlessi{%
- \ifmmode
- \mathchar"7010
- \else
- \i
- \fi}
-\fi %<<<<<<
-% \end{macrocode}
+% We follow with the math group. It's not easy to add an accent to
+% an operator. The difficulty is that we must avoid using text
+% (that is, |\mbox|) because we have no control on font and size,
+% and at time we should access |\i|, which is a text command
+% forbidden in math mode. |\dotlessi| must be converted to
+% uppercase if necessary in \LaTeXe. There are two versions,
+% depending on the format.
%
-% The switches for accents and spaces in math.
-%
-%\changes{spanish~4.0b}{98/11/10}{Added missing \cs{nolimits}}
-%\changes{spanish~4.0c}{98/11/30}{Merged \cs{es@op@i} and
-% \cs{es@op@a} into a single command. The (re)defided commands
-% have been changed as suggested by JoseRa Portillo and Juan Luis
-% Varona. Now it conforms the UNE 5010 norm. Code is no
-% longer duplicated--\cs{operator@font} is defined for lplain
-% instead}
-%\changes{spanish~4.0c}{98/12/10}{Removed the explicit
-% trigonometric declaration. While some functions are
-% preceptive (sen, tg) some other are optional and
-% defined in \cs{spanishoperators}. This is because there
-% is no norm in Spanish and there is quite a chaos in their
-% form. Restored the forms of v 1.1}
-%\changes{spanish~4.0k}{99/10/13}{Restored the \cs{es@op@i}
-% command, because we have to discriminate \cs{dotlessi} and i}
-%
% \begin{macrocode}
+\addto\mathspanish{\es@sdef\dotlessi{\protect\es@dotlessi}}
+\let\nomathspanish\relax
+
+\ifes@latex
+ \def\es@texti{\i}
+ \addto\@uclclist{\dotlessi\es@texti}
+\fi
+
+\ifes@latex
+ \def\es@dotlessi{%
+ \ifmmode
+ {\ifnum\mathgroup=\m@ne
+ \imath
+ \else
+ \count@\escapechar \escapechar=\m@ne
+ \expandafter\expandafter\expandafter
+ \split@name\expandafter\string\the\textfont\mathgroup\@nil
+ \escapechar=\count@
+ \@ifundefined{\f@encoding\string\i}%
+ {\edef\f@encoding{\string?}}{}%
+ \expandafter\count@\the\csname\f@encoding\string\i\endcsname
+ \advance\count@"7000
+ \mathchar\count@
+ \fi}%
+ \else
+ \i
+ \fi}
+\else
+ \def\es@dotlessi{\textormath{\i}{\mathchar"7010}}
+\fi
+
\def\accentedoperators{%
- \def\es@op@ac##1{\acute{##1}}%
- \def\es@op@i{\acute{\dotlessi}}}
+ \def\es@op@ac##1{\acute{\if i##1\dotlessi\else##1\fi}}}
\def\unaccentedoperators{%
- \def\es@op@ac##1{##1}%
- \def\es@op@i{i}}
+ \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}
%
% The operators are stored in |\es@operators|, which in turn is
% included in the math group. Since |\operator@font| is
% defined in \LaTeXe{} only, we defined in the plain variant.
-%
-% \changes{spanish~4.0g}{99/05/05}{Restored the assignment of
-% \cs{operator@font} which was misteriously missing}
-% \changes{spanish~4.0i}{99/06/21}{Replaced wrong \cs{spanishoperators}
-% by \cs{es@b}}
-% \changes{spanish~4.0j}{99/09/17}{Removed an extra line in the lplain
-% option}
-% \changes{spanish~4.2a}{03/08/08}{Names including \cs{acute} can be
-% formed}
%
% \begin{macrocode}
-\addto\mathspanish{\es@operators}
-
-\ifes@LaTeXe\else %<<<<<<
- \let\operator@font\rm
- \def\@empty{}
-\fi %<<<<<<
-
\def\es@operators{%
- \babel@save\lim
- \def\lim{\mathop{\operator@font l\protect\es@op@i m}}%
- \babel@save\limsup
- \def\limsup{\mathop{\operator@font l\es@op@i m\,sup}}%
- \babel@save\liminf
- \def\liminf{\mathop{\operator@font l\es@op@i m\,inf}}%
- \babel@save\max
- \def\max{\mathop{\operator@font m\es@op@ac ax}}%
- \babel@save\inf
- \def\inf{\mathop{\operator@font \protect\es@op@i nf}}%
- \babel@save\min
- \def\min{\mathop{\operator@font m\protect\es@op@i n}}%
- \babel@save\bmod
- \def\bmod{%
- \nonscript\mskip-\medmuskip\mkern5mu%
- \mathbin{\operator@font m\es@op@ac od}\penalty900\mkern5mu%
- \nonscript\mskip-\medmuskip}%
- \babel@save\pmod
- \def\pmod##1{%
- \allowbreak\mkern18mu({\operator@font m\es@op@ac od}\,\,##1)}%
- \def\es@a##1 {%
- \es@delayed
- \if^##1^\then % is it empty? do nothing and continue
- \es@a
- \else
- \es@delayed
- \if&##1\then % is it &? do nothing and finish
- \else
- \begingroup
- \let\,\@empty % \, is ignored when def'ing the macro name
- \let\acute\@firstofone % same
- \edef\es@b{\expandafter\noexpand\csname##1\endcsname}%
- \def\,{\noexpand\es@op@sp}%
- \def\acute####1{%
- \if i####1%
- \noexpand\es@op@i
- \else
- \noexpand\es@op@ac####1%
- \fi}%
- \edef\es@a{\endgroup
- \noexpand\babel@save\expandafter\noexpand\es@b
- \def\expandafter\noexpand\es@b{%
- \mathop{\noexpand\operator@font##1}\nolimits}}%
- \es@a % It restores itself
- \es@a
- \fi
- \fi}%
- \let\es@b\spanishoperators
- \addto\es@b{ }%
- \expandafter\es@a\es@b sen tg arc\,sen arc\,cos arc\,tg & }
-
-\def\spanishoperators{cotg cosec senh tgh}
+ \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 {%
+ \if^##1^% empty? continue
+ \bbl@afterelse
+ \es@a
+ \else
+ \bbl@afterfi
+ {\if&##1% &? 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}\nolimits}}%
+ \es@a % restores itself
+ \es@a
+ \fi}%
+ \fi}%
+ \let\es@b\spanishoperators
+ \addto\es@b{ }%
+ \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
+ 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 goals are to allow espression like |$a^{x'}$|
-% and to deactivate the shorthands making them of
+% 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.
+% the new macros are defined.
%
-% \changes{spanish~4.1a}{99/11/30}{Added basic code for
-% spanish shorthands.}
-% \changes{spanish~4.1a}{99/12/01}{Debugged and added support
-% for the babel groups.}
-% \changes{spanish~4.1c}{00/10/04}{Revised so that it
-% now uses the babel shorthands}
-% \changes{spanish~4.2a}{03/08/08}{Deactivation of dot as
-% a special case}
% \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
- \expandafter\let\csname es@math\string#1\expandafter\endcsname
- \csname normal@char\string#1\endcsname}
+ \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{%
- \es@delayed
- \ifx\thepage\relax\then
- \string
- \else{%
- \es@delayed
- \ifx\protect\@unexpandable@protect\then
- \noexpand
- \else
- \es@use@sh
- \fi}%
- \fi}
-
-\def\es@text@sh#1{\csname active@char\string#1\endcsname}
-\def\es@math@sh#1{\csname es@math\string#1\endcsname}
-
-\def\es@use@sh{%
- \es@delayed
- \if@safe@actives\then
- \string
- \else{%
- \es@delayed
- \ifmmode\then
- \es@math@sh
- \else
- \es@text@sh
- \fi}%
- \fi}
+ \ifx\thepage\relax
+ \bbl@afterelse
+ \string
+ \else
+ \bbl@afterfi
+ {\ifx\protect\@unexpandable@protect
+ \bbl@afterelse
+ \noexpand
+ \else
+ \bbl@afterfi
+ \es@use@sh
+ \fi}%
+ \fi}
+
+\def\es@use@sh#1{%
+ \if@safe@actives
+ \bbl@afterelse
+ \string#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~}}}
+ \begingroup
+ \lccode`\~=`#1
+ \lowercase{%
+ \endgroup
+ \def~{\es@use@shorthand~}}}
\def\spanishdeactivate#1{%
- \@tfor\@tempa:=#1\do{\expandafter\es@spdeactivate\@tempa}}
+ \@tfor\@tempa:=#1\do{\expandafter\es@spdeactivate\@tempa}}
\def\es@spdeactivate#1{%
- \if.#1%
- \mathcode`\.=\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}
-
-\def\es@reviveshorthands{%
- \es@restore{"}\es@restore{~}%
- \es@restore{<}\es@restore{>}%
- \es@quoting}
-
-\def\es@restore#1{%
- \catcode`#1=\active
+ \if.#1%
+ \mathcode`\.=\es@period@code
+ \else
\begingroup
- \lccode`\~=`#1
- \lowercase{%
+ \lccode`\~=`#1
+ \lowercase{%
\endgroup
- \bbl@deactivate{~}}}
+ \expandafter\let\expandafter~%
+ \csname normal@char\string#1\endcsname}%
+ \catcode`#1=\csname es@savecat\string#1\endcsname\relax
+ \fi}
% \end{macrocode}
%
-% But \textsf{spanish} allows two category codes for |'|,
-% so both should be taken into account in \cs{bbl@pr@m@s}.
-%
-% \changes{spanish~4.1c}{00/10/03}{Added support for primes
-% which are either `active' or `other'}
+% |\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}
-\begingroup
-\catcode`\'=12
-\lccode`~=`' \lccode`'=`'
-\lowercase{%
-\gdef\bbl@pr@m@s{%
- \es@delayed
- \ifx~\@let@token\then
- \pr@@@s
- \else
- {\es@delayed
- \ifx'\@let@token\then
- \pr@@@s
- \else
- {\es@delayed
- \ifx^\@let@token\then
- \pr@@@t
- \else
- \egroup
- \fi}%
- \fi}%
- \fi}}
-\endgroup
+\def\es@restore#1{%
+ \shorthandon{#1}%
+ \begingroup
+ \lccode`\~=`#1
+ \lowercase{%
+ \endgroup
+ \bbl@deactivate{~}}}
% \end{macrocode}
%
-% \changes{spanishb~1.1}{98/05/15}{Rewritten part}
-% \changes{spanish~4.0c}{98/12/07}{Optimized a bit}
+% 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}
-\expandafter\ifx\csname @tabacckludge\endcsname\relax
- \let\es@tak\a
-\else
- \let\es@tak\@tabacckludge
+\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
-\ifes@LaTeXe %<<<<<<
- \def\@tabacckludge#1{\expandafter\es@tak\string#1}
- \let\a\@tabacckludge
-\else\ifes@plain %<<<<<<
- \def\@tabacckludge#1{\csname\string#1\endcsname}
-\else %<<<<<<
- \def\@tabacckludge#1{\csname a\string#1\endcsname}
-\fi\fi %<<<<<<
-
-\expandafter\ifx\csname add@accent\endcsname\relax
- \def\add@accent#1#2{\accent#1 #2}
-\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.
-% \changes{spanish~4.1f}{02/05/17}{The spacefactor is restored
-% with the method used in LaTeX2e}
+%
% \begin{macrocode}
-\ifes@LaTeXe %<<<<<<
- \def\es@accent#1#2#3{%
- \expandafter\@text@composite
- \csname OT1\string#1\endcsname#3\@empty\@text@composite
- {\bbl@allowhyphens\add@accent{#2}{#3}\bbl@allowhyphens
- \setbox\@tempboxa\hbox{#3%
- \global\mathchardef\accent@spacefactor\spacefactor}%
- \spacefactor\accent@spacefactor}}
-\else %<<<<<<
- \def\es@accent#1#2#3{%
- \bbl@allowhyphens\add@accent{#2}{#3}\bbl@allowhyphens
- \spacefactor\sfcode`#3 }
-\fi %<<<<<<
+\ifes@latex
+ \def\es@accent#1#2#3{%
+ \expandafter\@text@composite
+ \csname OT1\string#1\endcsname#3\@empty\@text@composite
+ {\bbl@allowhyphens\add@accent{#2}{#3}\bbl@allowhyphens
+ \setbox\@tempboxa\hbox{#3%
+ \global\mathchardef\accent@spacefactor\spacefactor}%
+ \spacefactor\accent@spacefactor}}
+\else
+ \def\es@accent#1#2#3{%
+ \bbl@allowhyphens\add@accent{#2}{#3}\bbl@allowhyphens
+ \spacefactor\sfcode`#3 }
+\fi
+
+\addto\shorthandsspanish{\languageshorthands{spanish}}%
+\es@ifoption{noshorthands}{}{\es@set@shorthand{"}}
% \end{macrocode}
%
-% The shorthands are activated in the aux file. Now, we begin
-% the shorthands group.
+% We override the default |"| of babel, intended for german.
%
-% \changes{spanish~4.0j}{99/09/15}{Added shorthands for \cs{protect}
-% following active chars. This way, they work in headers}
-% \changes{spanish~4.0l}{99/11/13}{Added the \cs{es@activate}
-% command, which makes the shorthands more robust in math mode.
-% In particular, any of them may be followed by a closing brace}
% \begin{macrocode}
-\addto\shorthandsspanish{\languageshorthands{spanish}}
+\def\es@umlaut#1{%
+ \bbl@allowhyphens\add@accent{127}#1\bbl@allowhyphens
+ \spacefactor\sfcode`#1 }
+
+\addto\shorthandsspanish{%
+ \babel@save\bbl@umlauta
+ \let\bbl@umlauta\es@umlaut}
\let\noshorthandsspanish\relax
-% \end{macrocode}
-%
-% First, decimal comma.
-%
-% \changes{spanish~4.1c}{00/10/03}{Removed an unnecessary macro.}
-% \begin{macrocode}
+
+\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@set@shorthand{.}
-
-\@namedef{es@math\string.}{%
- \@ifnextchar\egroup
+\es@ifoption{nodecimaldot}{}
+ {\AtBeginDocument{\bgroup\@fileswfalse}%
+ \es@set@shorthand{.}%
+ \AtBeginDocument{\egroup}%
+ \@namedef{normal@char\string.}{%
+ \@ifnextchar\egroup
{\mathchar\es@period@code\relax}%
- {\es@text@sh.}}
-
-\declare@shorthand{system}{.}{\mathchar\es@period@code\relax}
-% \end{macrocode}
-%
-% \changes{spanish~4.0a}{98/09/10}{After the . is activated, it is
-% redefined to avoid errors if followed by a closing brace.
-% Changed \cs{edef} by \cs{mathchardef}. Use
-% \cs{babel@savevariable}instead of \cs{noextrasspanish}.}
-% \changes{spanish~4.0e}{99/04/10}{The catcode is restored in
-% the aux file, too}
-% \begin{macrocode}
-\addto\shorthandsspanish{%
- \mathchardef\es@period@code\the\mathcode`\.%
- \babel@savevariable{\mathcode`\.}%
- \mathcode`\.="8000 %
- \es@activate{.}}
-
-\AtBeginDocument{%
- \catcode`\.=12
- \if@filesw
- \immediate\write\@mainaux{%
- \string\catcode`\string\.=12}%
- \fi}
-
-\declare@shorthand{spanish}{.1}{\es@decimal1}
-\declare@shorthand{spanish}{.2}{\es@decimal2}
-\declare@shorthand{spanish}{.3}{\es@decimal3}
-\declare@shorthand{spanish}{.4}{\es@decimal4}
-\declare@shorthand{spanish}{.5}{\es@decimal5}
-\declare@shorthand{spanish}{.6}{\es@decimal6}
-\declare@shorthand{spanish}{.7}{\es@decimal7}
-\declare@shorthand{spanish}{.8}{\es@decimal8}
-\declare@shorthand{spanish}{.9}{\es@decimal9}
-\declare@shorthand{spanish}{.0}{\es@decimal0}
-% \end{macrocode}
-%
-% Now accents and tools
-%
-% \changes{spanish~4.0d}{99/03/26}{Removed the tilde settings
-% because they are included in babel.def}
-% \changes{spanish~4.0b}{98/10/02}{Introduced \cs{es@umlaut} to allow
-% further division in words containing g\"u}
-% \changes{spanish~4.0c}{98/12/02}{Added missing space at the end
-% of \cs{es@umlaut}}
-% \begin{macrocode}
-\es@set@shorthand{"}
-\def\es@umlaut#1{%
- \bbl@allowhyphens\add@accent{127}#1\bbl@allowhyphens
- \spacefactor\sfcode`#1 }
-% \end{macrocode}
-%
-% We override the default |"| of babel, intended for german.
-%
-% \begin{macrocode}
-\ifes@LaTeXe %<<<<<<
- \addto\shorthandsspanish{%
- \es@activate{"}%
- \es@activate{~}%
- \babel@save\bbl@umlauta
- \let\bbl@umlauta\es@umlaut
- \expandafter\babel@save\csname OT1\string\~\endcsname
- \expandafter\def\csname OT1\string\~\endcsname{\es@accent\~{126}}%
- \expandafter\babel@save\csname OT1\string\'\endcsname
- \expandafter\def\csname OT1\string\'\endcsname{\es@accent\'{19}}}
-\else %<<<<<<
+ {\csname active@char\string.\endcsname}}%
+ \declare@shorthand{system}{.}{\mathchar\es@period@code\relax}%
\addto\shorthandsspanish{%
- \es@activate{"}%
- \es@activate{~}%
- \babel@save\bbl@umlauta
- \let\bbl@umlauta\es@umlaut
- \babel@save\~%
- \def\~{\es@accent\~{126}}%
- \babel@save\'%
- \def\'#1{\if#1i\es@accent\'{19}\i\else\es@accent\'{19}{#1}\fi}}
-\fi %<<<<<<
-% \end{macrocode}
-% \changes{spanish~4.0c}{98/11/19}{Subtituted
-% \cs{char}\cs{hyphenchar}\cs{font} for some instances of -}
-% \changes{spanish~4.0h}{98/06/06}{Added \cs{deactivatetilden}}
-% \changes{spanish~4.2a}{03/08/08}{Added raised ?` and !`}
-% \changes{spanish~4.2b}{03/09/12}{Added er and ER}
-% \begin{macrocode}
-\declare@shorthand{spanish}{"a}{\protect\es@sptext{a}}
-\declare@shorthand{spanish}{"A}{\protect\es@sptext{A}}
-\declare@shorthand{spanish}{"o}{\protect\es@sptext{o}}
-\declare@shorthand{spanish}{"O}{\protect\es@sptext{O}}
-\declare@shorthand{spanish}{"e}{\protect\es@sptext@r{e}}
-\declare@shorthand{spanish}{"E}{\protect\es@sptext@r{E}}
-
-\def\es@sptext@r#1#2{\es@sptext{#1#2}}
-
-\declare@shorthand{spanish}{"u}{\"u}
-\declare@shorthand{spanish}{"U}{\"U}
-
-\declare@shorthand{spanish}{"c}{\c{c}}
-\declare@shorthand{spanish}{"C}{\c{C}}
-
-\declare@shorthand{spanish}{"<}{\guillemotleft{}}
-\declare@shorthand{spanish}{">}{\guillemotright{}}
-\declare@shorthand{spanish}{"-}{\bbl@allowhyphens\-\bbl@allowhyphens}
-\declare@shorthand{spanish}{"=}%
- {\bbl@allowhyphens\char\hyphenchar\font\hskip\z@skip}
-\declare@shorthand{spanish}{"~}
- {\bbl@allowhyphens\discretionary{\char\hyphenchar\font}%
- {\char\hyphenchar\font}{\char\hyphenchar\font}\bbl@allowhyphens}
-\declare@shorthand{spanish}{"r}
- {\bbl@allowhyphens\discretionary{\char\hyphenchar\font}%
- {}{r}\bbl@allowhyphens}
-\declare@shorthand{spanish}{"R}
- {\bbl@allowhyphens\discretionary{\char\hyphenchar\font}%
- {}{R}\bbl@allowhyphens}
-\declare@shorthand{spanish}{"y}
- {\@ifundefined{scalebox}%
- {\ensuremath{\tau}}%
- {\raisebox{1ex}{\scalebox{-1}{\resizebox{.45em}{1ex}{2}}}}}
-\declare@shorthand{spanish}{""}{\hskip\z@skip}
-\declare@shorthand{spanish}{"/}
- {\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}
-\declare@shorthand{spanish}{"?}
- {\setbox\z@\hbox{?`}%
- \leavevmode\raise\dp\z@\box\z@}
-\declare@shorthand{spanish}{"!}
- {\setbox\z@\hbox{!`}%
- \leavevmode\raise\dp\z@\box\z@}
-
-\es@set@shorthand{~}
-\declare@shorthand{spanish}{~n}{\~n}
-\declare@shorthand{spanish}{~N}{\~N}
-\declare@shorthand{spanish}{~-}{%
- \leavevmode
- \bgroup
- \let\@sptoken\es@dashes % This assignation changes the
- \@ifnextchar-% \@ifnextchar behaviour
- {\es@dashes}%
- {\hbox{\char\hyphenchar\font}\egroup}}
+ \mathchardef\es@period@code\the\mathcode`\.%
+ \babel@savevariable{\mathcode`\.}%
+ \mathcode`\.="8000 %
+ \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}}
+ \@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}}{}}
-\def\deactivatetilden{%
- \expandafter\let\csname spanish@sh@\string~@n@\endcsname\relax
- \expandafter\let\csname spanish@sh@\string~@N@\endcsname\relax}
+\es@declarealt{<<}{"`}{\begin{quoting}}
+\es@declarealt{>>}{"'}{\end{quoting}}
% \end{macrocode}
%
-% The shorthands for |quoting|.
+% Acute accent shorthands are stored in a macro. If |activeacute|
+% was set as an option it's executed. If not is not deleted for a
+% possible later use in the |cfg| file. In non \LaTeXe{} formats
+% is always executed.
%
-% \changes{spanish~4.1d}{01/09/10}{Disabled if in xmltex}
% \begin{macrocode}
-\expandafter\ifx\csname XML@catcodes\endcsname\relax
- \addto\es@select{%
- \catcode`\<\active\catcode`\>=\active
- \es@quoting}
-
- \es@set@shorthand{<}
- \es@set@shorthand{>}
-
- \declare@shorthand{system}{<}{\csname normal@char\string<\endcsname}
- \declare@shorthand{system}{>}{\csname normal@char\string>\endcsname}
-
- \addto\shorthandsspanish{%
- \es@activate{<}%
- \es@activate{>}}
+\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}%
% \end{macrocode}
%
-% \changes{spanish~4.0e}{99/04/10}{\cs{es@quoting} is written to the
-% aux file, too}
+% But \textsf{spanish} allows two category codes for |'|,
+% so both should be taken into account in \cs{bbl@pr@m@s}.
+%
% \begin{macrocode}
- \ifes@LaTeXe %<<<<<<
- \AtBeginDocument{%
- \es@quoting
- \if@filesw
- \immediate\write\@mainaux{\string\es@quoting}%
- \fi}%
- \fi %<<<<<<
-
- \def\activatequoting{%
- \catcode`>=\active \catcode`<=\active
- \let\es@quoting\activatequoting}
- \def\deactivatequoting{%
- \catcode`>=12 \catcode`<=12
- \let\es@quoting\deactivatequoting}
+ \let\es@pr@m@s\bbl@pr@m@s
+ \def\bbl@pr@m@s{%
+ \ifx'\@let@token
+ \bbl@afterelse
+ \pr@@@s
+ \else
+ \bbl@afterfi
+ \es@pr@m@s
+ \fi}%
+ \let\es@activeacute\relax}
+\endgroup
- \declare@shorthand{spanish}{<<}{\begin{quoting}}
- \declare@shorthand{spanish}{>>}{\end{quoting}}
+\ifes@latex
+ \@ifpackagewith{babel}{activeacute}{\es@activeacute}{}
+\else
+ \es@activeacute
\fi
-
-\let\es@quoting\relax
-\let\deactivatequoting\relax
-\let\activatequoting\relax
-% \end{macrocode}
-%
-% The acute accents are stored in a macro. If |activeacute| was set
-% as an option it's executed. If not is not deleted for a possible
-% later use in the |cfg| file. In non \LaTeXe{} formats is always
-% executed.
-%
-% \changes{spanish~4.0l}{99/11/12}{We make a preevaluation of acute;
-% in math mode, the shorthand mechanism is bypassed. That's done
-% *after* the test of the protection status.}
-% \begin{macrocode}
-\def\es@activeacute{%
- \es@set@shorthand{'}%
- \addto\shorthandsspanish{\es@activate{'}}%
- \addto\es@reviveshorthands{\es@restore{'}}%
- \addto\es@select{\catcode`'=\active}%
- \declare@shorthand{spanish}{'a}{\@tabacckludge'a}%
- \declare@shorthand{spanish}{'A}{\@tabacckludge'A}%
- \declare@shorthand{spanish}{'e}{\@tabacckludge'e}%
- \declare@shorthand{spanish}{'E}{\@tabacckludge'E}%
- \declare@shorthand{spanish}{'i}{\@tabacckludge'i}%
- \declare@shorthand{spanish}{'I}{\@tabacckludge'I}%
- \declare@shorthand{spanish}{'o}{\@tabacckludge'o}%
- \declare@shorthand{spanish}{'O}{\@tabacckludge'O}%
- \declare@shorthand{spanish}{'u}{\@tabacckludge'u}%
- \declare@shorthand{spanish}{'U}{\@tabacckludge'U}%
- \declare@shorthand{spanish}{'n}{\~n}%
- \declare@shorthand{spanish}{'N}{\~N}%
- \declare@shorthand{spanish}{''}{\textquotedblright}%
- \let\es@activeacute\relax}
-
-\ifes@LaTeXe %<<<<<<
- \@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}}}
-% \end{macrocode}
-%
-% The part formerly in the |.lld| file comes here. It performs
-% layout adaptation of \LaTeX{} to ``orthodox'' Spanish rules.
-% \changes{spanish~4.1c}{00/09/30}{The box used in itemize made
-% slightly smaller (.1ex).}
-% \changes{spanish~4.1d}{02/01/25}{Removed extra \cs{enspace}
-% which formatted differently \cs{item} with brackets.}
-% \changes{spanish~4.2a}{03/08/08}{Added \cs{spanishsignitems}}
-% \changes{spanish~4.2a}{03/08/08}{Mispaced \cs{es@enumerate}
-% and \cs{es@itemize} moved into \cs{layoutspanish}}
-% \changes{spanish~4.2b}{03/09/12}{If an entry toc has an
-% empty \cs{numberline} the dot is not printed}
-% \begin{macrocode}
-\ifes@LaTeXe %<<<<<<
+\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$}}
+ \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$}}
+ \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}\protect\es@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}}
-
-\addto\layoutspanish{%
- \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\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}}%
- \def\p@enumii{\theenumi}%
- \def\p@enumiii{\theenumi\theenumii}%
- \def\p@enumiv{\p@enumiii\theenumiii}%
- \expandafter\es@enumerate\es@enum
- \expandafter\es@itemize\es@item
- \DeclareTextCommand{\guillemotleft}{OT1}{%
- \ifmmode\ll
- \else
- \save@sf@q{\penalty\@M
- \leavevmode\hbox{\usefont{U}{lasy}{m}{n}%
- \char40 \kern-0.19em\char40 }}%
- \fi}%
- \DeclareTextCommand{\guillemotright}{OT1}{%
- \ifmmode\gg
- \else
- \save@sf@q{\penalty\@M
- \leavevmode\hbox{\usefont{U}{lasy}{m}{n}%
- \char41 \kern-0.19em\char41 }}%
- \fi}%
- \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}%
- \let\@afterindentfalse\@afterindenttrue
- \@afterindenttrue
- \def\@seccntformat##1{\csname the##1\endcsname.\quad}%
- \def\numberline##1{\hb@xt@\@tempdima{##1\if&##1&\else.\fi\hfil}}%
- \def\@roman##1{\protect\es@roman{\number##1}}%
- \def\es@roman##1{\protect\es@lsc{\romannumeral##1}}%
- \def\esromanindex##1##2{##1{\protect\es@lsc{##2}}}}
+ \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{nolists}{%
+ \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\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}}%
+ \def\p@enumii{\theenumi}%
+ \def\p@enumiii{\p@enumii\theenumii}%
+ \def\p@enumiv{\p@enumiii\theenumiii}%
+ \expandafter\es@enumerate\es@enum
+ \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{\protect\es@roman{##2}}}%
+ \def\@roman##1{\protect\es@roman{\romannumeral##1}}%
+ \def\es@roman{\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\if&#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
@@ -2383,105 +2500,73 @@
%
% \begin{macrocode}
\AtEndOfPackage{%
- \let\es@activeacute\@undefined
- \def\bbl@tempa{spanish}%
- \ifx\bbl@main@language\bbl@tempa
- \AtBeginDocument{\layoutspanish}%
- \addto\es@select{%
- \@ifstar{\let\layoutspanish\relax}%
- {\layoutspanish\let\layoutspanish\relax}}%
- \fi
- \selectspanish}
-
-\fi %<<<<<<
+\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 es-nolayout package option}}%
+ {}}%
+ \AtBeginDocument{\layoutspanish}%
+\fi
+\selectspanish}
+\fi
% \end{macrocode}
%
% After restoring the catcode of |~| and setting the minimal
% values for hyphenation, the |.ldf| is finished.
-%
-% \changes{spanish~4.0e}{99/04/11}{Removed duplicated \cs{loadlocalcfg}}
-% \changes{spanish~4.0a}{98/09/14}{Moved
-% \cs{let}\cs{es@activeacute}\cs{@undefined}
-% to \cs{AtEndOfPackage}}
-% \changes{spanish~4.0a}{98/09/12}{Introduced \cs{ldf@finish}}
-% \changes{spanish~4.1d}{01/06/06}{Removed extra \cs{endinput}}
+%
% \begin{macrocode}
\es@savedcatcodes
-
\providehyphenmins{\CurrentOption}{\tw@\tw@}
-
-\ifes@LaTeXe %<<<<<<
- \ldf@finish{spanish}
-\else %<<<<<<
- \es@select
- \ldf@finish{spanish}
- \csname activatequoting\endcsname
-\fi %<<<<<<
-
+\ifes@latex\else
+ \es@select
+\fi
+\ldf@finish{spanish}
+\csname activatequoting\endcsname
%</code>
% \end{macrocode}
-% That's all in the main file. Now the file with
-% \textsf{custom-bib} macros.
-%
-% \changes{spanish~4.0b}{98/11/09}{Added support for custom-bib}
-% \changes{spanish~4.0i}{99/06/21}{the mthesis and phdthesis text
-% were reverted. Fixed}
-% \changes{spanish~4.0i}{99/06/21}{Added \cs{bbletal}}
-% \begin{macrocode}
-%<*bblbst>
-\def\bbland{y}
-\def\bbleditors{directores} \def\bbleds{dirs.\@}
-\def\bbleditor{director} \def\bbled{dir.\@}
-\def\bbledby{dirigido por}
-\def\bbledition{edici\'on} \def\bbledn{ed.\@}
-\def\bbletal{y otros}
-\def\bblvolume{vol\'umen} \def\bblvol{vol.\@}
-\def\bblof{de}
-\def\bblnumber{n\'umero} \def\bblno{n\sptext{o}}
-\def\bblin{en}
-\def\bblpages{p\'aginas} \def\bblpp{p\'ags.\@}
-\def\bblpage{p\'gina} \def\bblp{p\'ag.\@}
-\def\bblchapter{cap\'itulo} \def\bblchap{cap.\@}
-\def\bbltechreport{informe t\'ecnico}
-\def\bbltechrep{inf.\@ t\'ec.\@}
-\def\bblmthesis{proyecto de fin de carrera}
-\def\bblphdthesis{tesis doctoral}
-\def\bblfirst {primera} \def\bblfirsto {1\sptext{a}}
-\def\bblsecond{segunda} \def\bblsecondo{2\sptext{a}}
-\def\bblthird {tercera} \def\bblthirdo {3\sptext{a}}
-\def\bblfourth{cuarta} \def\bblfourtho{4\sptext{a}}
-\def\bblfifth {quinta} \def\bblfiftho {5\sptext{a}}
-\def\bblth{\sptext{a}}
-\let\bblst\bblth \let\bblnd\bblth \let\bblrd\bblth
-\def\bbljan{enero} \def\bblfeb{febrero} \def\bblmar{marzo}
-\def\bblapr{abril} \def\bblmay{mayo} \def\bbljun{junio}
-\def\bbljul{julio} \def\bblaug{agosto} \def\bblsep{septiembre}
-\def\bbloct{octubre}\def\bblnov{noviembre}\def\bbldec{diciembre}
-%</bblbst>
-% \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, and they
% are rejected. This program is a preprocessor which moves this
-% macro to the entry field.
+% 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@encap{`\|}
-\def\es@openrange{`\(}
-\def\es@closerange{`\)}
-
\def\es@split@file#1.#2\@@{#1}
\def\es@split@ext#1.#2\@@{#2}
-\typein[\answer]{^^JArchivo que convertir^^J%
- (extension por omision .idx):}
-
+\@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\@@}
@@ -2491,9 +2576,11 @@
\def\es@input@ext{idx}
\fi
-\typein[\answer]{^^JArchivo de destino^^J%
- (archivo por omision: \es@input@file.eix,^^J%
- extension por omision .eix):}
+\@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
@@ -2505,11 +2592,13 @@
\fi
\fi
-\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)}
-
+\@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)}
@@ -2530,20 +2619,20 @@
`\expandafter\noexpand\csname\expandafter\string\answer\endcsname}
\fi
\fi
-
+
\newwrite\es@indexfile
\immediate\openout\es@indexfile=\es@output
\newif\ifes@encapsulated
-\def\es@roman#1{\romannumeral#1 }
+\def\es@roman#1{#1}
\edef\es@slash{\expandafter\@gobble\string\\}
\def\indexentry{%
\begingroup
\@sanitize
\es@indexentry}
-
+
\begingroup
\catcode`\|=12 \lccode`\|=\es@encap\relax
@@ -2602,12 +2691,32 @@
\ifnum\es@converted>\z@
\typeout{Genere el indice a partir de ese archivo}
\else
- \typeout{No se ha realizado ningun tipo de conversion}
- \typeout{Se puede generar el archivo directamente^^J%
- de \es@input@file.\es@input@ext}
+ \typeout{No se ha convertido nada. Se puede generar}
+ \typeout{el .ind directamente de \es@input@file.\es@input@ext}
\fi
\typeout{*****************}
-\@@end
+
+\@ifundefined{es@sdef}{\@@end}{}
+%%
+%% \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
+%%
+%% End of file `romanidx.tex'.
%</indexes>
% \end{macrocode}
%