% \iffalse meta-comment % % Copyright 1989-2003 Johannes L. Braams and any individual authors % listed elsewhere in this file. All rights reserved. % % This file is part of the Babel system release 3.7. % -------------------------------------------------- % % It may be distributed under the terms of the LaTeX Project Public % License, as described in lppl.txt in the base LaTeX distribution. % Either version 1.2 or, at your option, any later version. % \fi % \CheckSum{2195} % \ProvidesFile{spanish.dtx} % [2003/09/12 v4.2b Spanish support from the babel system] %\iffalse %% File `spanish.dtx' %% Babel package for LaTeX version 2e %% Copyright (C) 1989 - 2003 %% by Johannes Braams, TeXniek % %% Spanish Language Definition File %% Copyright (C) 1997 - 2003 %% by Javier Bezos (jbezos@wanadoo.es) %% Apartado 116.035 %% E-28080 Madrid %% Espa\~na / Espagne %% and %% by CervanTeX (www.cervantex.org) % %% Please report errors to: Javier Bezos (preferably) %% jbezos@wanadoo.es %% J.L. Braams %% JLBraams@cistron.nl % % 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> \documentclass[spanish,a4paper]{ltxdoc} \usepackage[activeacute]{babel} %\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\hmk{$\string|$} \newcommand\New[1]{% \leavevmode\marginpar{\raggedleft\sffamily Nuevo en #1}} \newcommand\nm[1]{\unskip\,$^{#1}$} \newcommand\nt[1]{\quad$^{#1}$\,\ignorespaces} \makeatletter \renewcommand\@biblabel{} \makeatother \newcommand\DOT[1]{\lsc{DOT},~#1} \newcommand\DTL[1]{\lsc{DTL},~#1} \newcommand\MEA[1]{\lsc{MEA},~#1} \raggedright \setlength{\parindent}{1em} \addtolength{\oddsidemargin}{-2pc} \addtolength{\textwidth}{4pc} \OnlyDescription \begin{document} \DocInput{spanish.dtx} \end{document} % %\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}{} % % \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@# % % \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: % % \begin{itemize} % % \item[$\diamond$] % |enumerate| e |itemize|\\[1ex] % % El primero usa la siguiente secuencia:\,\footnote{No hay raz'on % concreta para ella. Es tan s'olo una f'ormula de compromiso.}\\ % \quad 1.\\ % \qquad \emph{a})\\ % \quad\qquad 1)\\ % \qquad\qquad \emph{a$'$})\\ % El segundo la siguiente:\\ % \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$. % % \item[$\diamond$] % |\alph| y |\Alph|\\[1ex] % % Incluyen la e'ne. % % \item[$\diamond$] % |\fnsymbol|\\[1ex] % % 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] % % 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} % % \item[$\diamond$] % |\section|, |\subsection|, etc.\\[1ex] % % 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] % % \New{4.1}Si no se desean estos cambios, basta con usar en el % pre'ambulo |\selectspanish*| (con asterisco) o <> con: %\begin{verbatim} % \let\layoutspanish\relax %\end{verbatim} % % \end{itemize} % % \section{Descripci'on} % % \subsection{Traducciones} % % Ciertas 'ordenes se definen para % proporcionar traducciones al castellano de algunos t'erminos, tal % y como se describe en el cuadro 1. % % \begin{table} % \center\small % \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 % \end{tabular} % % \vspace{1.5ex} % % \begin{minipage}{6cm}\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, <> % frente a <>.) % % 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 % siguientes apartados se dar'an m'as detalles sobre algunas de % ellas. % % \begin{table}[!t] % \center\small % \caption{Abreviaciones} % \vspace{1.5ex} % \begin{tabular}{l@{\hspace{3em}}l} % \toprule % |'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\\ % |"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\\ % |"y| & El antiguo signo para <>\\ % |"-| & 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}\\ % |"/| & Una barra algo m'as baja\\ % \verb+"|+ & Divide un logotipo\nm{f}\\ % |"< ">| & "< ">\\ % |<< >>| & |\begin{quoting}| |\end{quoting}|\nm{g}\\ % |?` !`| & ?` !`\nm{h}\\ %\llap{\textsf{Nuevo en 4.2 }}\relax %|"? "!| & "? "! alineados con la linea base\nm{i} % \botrule % \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 <>. % \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. % \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 <> 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} % % \item[$\diamond$] % |\deactivatetilden|\\[1ex] % % 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). % % % \item[$\diamond$] % |\spanishdeactivate{}|\\[1ex] % % \New{4.1}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 % 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 %|\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} % % \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.} % % 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: % \begin{quote}\small\begin{tabbing} % |$1\,234.567\,890$| \quad \= $1\,234.567\,890$\\ % |$f(1,2)=12.34.$| \> $f(1,2)=12.34.$\\ % |$1{.}000$| \> $1{.}000$, pero\\ % |1.000| \> 1.000, pues no es modo matem'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{}| 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}} % % \subsection{Divisi'on de palabras} % % \textsf{Spanish} comprueba la % codificaci'on en el momento en que se usa un acento: si la % codificaci'on es |OT1| se toman medidas para facilitar % la divisi'on, que pese a todo nunca ser'a perfecta, mientras que con % |T1| se accede directamente al car'acter correspondiente. % % Para matizar la divisi'on de palabras hay cuatro posibilidades, dos % de ellas con el m'etodo de abreviaciones: % \begin{itemize} % \item la orden |\-| es un gui'on opcional que no permite % m'as divisiones, % % \item |"-| es similar pero permite m'as divisiones, % % \item un |-| es un gui'on que no permite m'as divisiones ni % antes ni despu'es, y % % \item |"=| es el equivalente que s'i las permite,\footnote{No % es una buena idea usar esta orden, pero en % medidas muy cortas puede resultar necesario.} % % \end{itemize} % Por ejemplo (con las posibles divisiones marcadas con \hmk): % \begin{quote}\small\begin{tabbing} % |Zaragoza-Barcelona|\qquad \= Zaragoza-\hmk Barcelona\\ % |Zaragoza"=Barcelona| \> % Za\hmk ra\hmk go\hmk za-\hmk Bar\hmk ce\hmk lo\hmk na\\ % |semi\-abierto| \> semi\hmk abierto\\ % |semi"-abierto| \> se\hmk mi\hmk abier\hmk to.\footnotemark % \end{tabbing}\footnotetext{Justo antes y despu'es de % {\ttfamily\string"\string-} y {\ttfamily\string"\string=} se % aplican los correspondientes % valores de {\ttfamily\string\...hyphenmin} lo que implica que la % divis'on semia\hmk bierto no es posible. % '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} % % 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 % una palabra que comienza con \emph{r}, 'esta 'ultima debe % doblarse a menos que se unan por un gui'on. Por ejemplo: % \begin{quote}\small\begin{tabbing} % |extra"rradio| \quad \= ex\hmk trarra\hmk dio, pero extra-\hmk % radio. % \end{tabbing}\end{quote} % No hay acuerdo sobre si esta regla y otras similares han de % 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}.} % % 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 % 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{Funciones matem'aticas} % % 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|). % % 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)$|). % % \item[$\diamond$] |\spacedoperators| |\unspacedoperators|\\[1ex] % Activa o desactiva el espacio entre " y la funci'on. % Lo habitual ha sido con espacio; as'i pues, por omisi'on % se espacia. % \end{itemize} % % 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}}$. % % 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}|. % % \subsection{Entrecomillados} % % 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. % % Por ejemplo: %\begin{verbatim} % <> a las que son de cierre, % pero se colocan al comienzo de cada p'arrafo cuando se transcribe % un texto entrecomillado con m'as de un p'arrafo. % % En su interior, como de costumbre, se usan inglesas.>> %\end{verbatim} % cuyo resultado es: % \begin{quotation}\small % <> a las que son de cierre, % pero se colocan al comienzo de cada p'arrafo cuando se transcribe % un texto entrecomillado con m'as de un p'arrafo. % % En su interior, como de costumbre, se usan inglesas.>> % \end{quotation} % % Este entorno se puede redefinir, como por ejemplo: %\begin{verbatim} % \renewenvironment{quoting}{\itshape}{} %\end{verbatim} % 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} % <>. % % Pero all'i no se aclar'o nadie.>> %\end{verbatim} % % \begin{quotation}\small % <>. % % Pero all'i no se aclar'o nadie.>> % \end{quotation} % % \begin{itemize} % \item[$\diamond$] % |\lquoti| |\rquoti| |\lquotii| |\rquotii| |\lquotiii| % |\rquotiii|\\[1ex] % % Controlan las comillas en |quoting|, seg'un el % nivel en que nos encontremos. |\lquoti| son las comillas de abrir % m'as exteriores, |\lquotii| las de segundo nivel, etc., y lo mismo % para las de cerrar con |\rquoti|... Para las de seguir siempre se % usan las de cerrar. Los valores predefinidos est'an en el cuadro 3. % \begin{table} % \center\small % \caption{Entrecomillados} % \vspace{1.5ex} % \begin{tabular}{l@{\hspace{5em}}l} % \toprule % |\lquoti| &|"<|\\ % |\rquoti| &|">|\\ % |\lquotii| &|``|\\ % |\rquotii| &|''|\\ % |\lquotiii| &|`|\\ % |\rquotiii| &|'| % \botrule % \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] % % 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 % 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 % \textsf{xmltex} ya se % desactivan por completo de forma autom'atica. El entorno % |quoting| siempre permanece disponible.\footnote{Algunos tipos % disponen de esta ligadura de forma interna para % generar los caracteres de comillas, por lo que en ellos tambi'en % podemos usarlos siempre, aunque los ajustes proporcionados por % \textsf{spanish} se pueden perder; por otra parte, tampoco se % usan demasiado a menudo.} % % \end{itemize} % % \subsection{Selecci'on} % % Por omisi'on, \babel{} deja <> las lenguas hasta que se % llega a |\begin{document}| con el fin de evitar conflictos por % las abreviaciones; a cambio, % se priva de la posibilidad de usar las lenguas en el pre'ambulo % en 'ordenes como |\savebox|, |\title|, |\newtheorem|, etc. % % La orden |\selectspanish| permite activar |spanish| con sus % extensiones y abreviaciones antes de % |\begin{document}|.\footnote{Algunos detalles, que % apenas afectan a \texttt{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} % ... % Mas paquetes % % \selectspanish % % \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 " con % su opuesto |\!|, si |\%| no sigue a una cifra). % % \subsection{Miscel'anea} % % \begin{itemize} % % \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 <> 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.} % % \end{itemize} % % \section{Adaptaci'on} % \subsection{Configuraci'on} % % En sus 'ultimas versiones, \babel{} proporciona 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] % Activa las abreviaciones con ap'ostrofos, sin que sea % necesario incluir |activeacute| como opci'on en |\usepackage|. % % \item[$\diamond$] |\es@enumerate{}|% % |{}{}{}|\\[1ex] % Cambia los valores preestablecidos por |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), % |a| (min'uscula \emph{cursiva}\,\footnote{La letra es cursiva % pero no los signos que le puedan seguir. M'as bien deber'ia % decirse destacada, ya que se usa |\string\emph|. % V'ease \DTL{11}.}), |A| (versal), % |i| (romano \emph{versalita}), |I| (romano versal) o % finalmente |o| (ordinal\,\footnote{Lo normal es no a'nadir ning'un % signo tras ordinal.}). % % Esta orden no est'a pensada para hacer cambios elaborados, sino % s—lo meros reajustes. Los valores preestablecidos % equivalen a %\begin{verbatim} % \es@enumerate{1.}{a)}{1)}{a$'$)} %\end{verbatim} % % \item[$\diamond$] |\es@itemize{}|% % |{}{}{}|\\[1ex] % Lo mismo para |itemize|, s'olo que los argumentos se % usan de forma literal. Los valores originales de \LaTeX{} son % similares a %\begin{verbatim} % \es@itemize{\textbullet}{\normalfont\bfseries\textendash} % {\textasteriskcentered}{\textperiodcentered} %\end{verbatim} % % \item[$\diamond$] |\es@operators|\\[1ex] % 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|. % % % Recordemos que todos los cambios % operados desde este archivo restan compatibilidad al % documento, por lo que si se distribuye conviene adjuntarlo % con el entorno |filecontents|. % % \subsection{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} % % \item Para volver a eliminar la sangr'ia tras secci'on: %\begin{verbatim} % \def\@afterindentfalse{\let\if@afterindent\iffalse} % \@afterindentfalse %\end{verbatim} % % \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} % % \item % Los extras se encuentran organizados en varios grupos: % |\textspanish|, |\mathspanish|, % |\shorthandsspanish| y |\layoutspanish|. Pueden % cancelarse con: %\begin{verbatim} % \renewcommand\textspanish{} %\end{verbatim} % % \end{itemize} % % \section{Formatos distintos a \LaTeXe} % % El estilo |spanish| funciona con % otros formatos, aunque con un subconjunto de las funciones % disponibles en \LaTeXe{}. 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 % 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} % % \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 <>. Como quiera que <> 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} % % \end{itemize} % % \section*{Referencias} % \addcontentsline{toc}{section}{Referencias} % % \begingroup % \small % \leftskip1.5cm \parindent-1.5cm % % \makebox[1.5cm][l]{\lsc{DRAE}}\textit{Diccionario de la Academia % Espa'nola}, Madrid, Espasa-Calpe, 21"a ed., 1992. % % \makebox[1.5cm][l]{\lsc{DOT}}Jos'e Mart'inez de Sousa, % \textit{Diccionario de ortograf'ia t'ecnica}, % Madrid, Germ'an S'anchez Ruip'erez/Pir'amide, 1987. % (Biblioteca del libro.) % % \makebox[1.5cm][l]{\lsc{DTL}}Jos'e Mart'inez de Sousa, % \textit{Diccionario de tipograf'ia y del libro}, % Madrid, Paraninfo, 3"a ed., 1992. % % \makebox[1.5cm][l]{\lsc{MEA}}Jos'e Mart'inez de Sousa, % \textit{Manual de edici'on y autoedici'on}, % Madrid, Pir'amide, 1994. % % \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} % % Umberto Eco, % \textit{C'omo se hace una tesis}, % Barcelona, Gedisa, 1982. % % Antonia Rigo Arnavat y Gabriel Genesc\`a Due'nas, % \textit{C'omo presentar una tesis y trabajos de investigaci'on}, % Barcelona, Eumo-Octaedro, 2002. % % 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 Lasso de la Vega, % \textit{C'omo se hace una tesis doctoral}, % Madrid, Fundacion Universitaria Espa~nola, 1977. % % Jos'e Romera Castillo y otros, % \textit{Manual de estilo}, % Madrid, Universidad Nacional de Educaci'on a Distancia, 1996. % % Restituto Sierra Bravo, % \textit{Tesis doctorales y trabajos de investigaci'on cient'ifica}, % Madrid, Paraninfo, 1986. % % \parindent0pc \leftskip0pc \vspace{6pt} % % {\itshape % Para otras cuestiones tipogr'aficas, las referencias % usadas son, entre otras:} % % \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}. % % Ra'ul Cabanes Mart'inez, % <>, % \textit{Mundo Electr'onico}, n"o 142, 1984, p'ags.~119~-125. % % \textit{The Chicago Manual of Style}, Chicago, University of % Chicago Press, 14"a~ed., 1993, esp.~p'ags.~333~-335. % % Jos'e Fern'andez Castillo, % \textit{Normas para correctores y compositores tip'ografos}, % Madrid, Espasa-Calpe, 1959. % % IRANOR [AENOR], Normas \lsc{UNE} n'umeros 5010 (<>), 5028 (<>) y 5029 (<>). % [Obsoletas.] % % 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 Mart'inez de Sousa, % \textit{Diccionario de ortograf'ia de la lengua espa'nola}, % Madrid, Paraninfo, 1996. % % Juan Mart'inez Val, \textit{Tipograf'ia pr'actica}, Madrid, % Laberinto, 2002. % % 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). % % Marion Neubauer, % <>, % \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. % % 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. % % Hugh C. Wolfe, <>, % \textit{Enciclopedia de F'isica}, dir. Rita G. Lerner y George L. % Trigg, Madrid, Alianza, 1987, t.~2, p'ags.~1423~-1451. % % \endgroup % % \end{userdtx} % % \begin{userdrv} %^^A ======= Beginning of text as typeset by user.drv ========= % % \GetFileInfo{spanish.dtx} % % \section{The Spanish language} % % 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: % \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. % % \begin{table}[htb] % \centering % \begin{tabular}{lp{8cm}} % |'a| & acute accented a. Also for: e, i, o, u (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\\ % |"-| & Like |\-|, but allowing hyphenation in the rest % the word.\\ % |"=| & Like |-|, but allowing hyphenation in the rest % the word.\\ % |"~| & The hyphen is repeated at the very beginning of % the next line if the word is hyphenated at this % point.\\ % |""| & Like |"-| but producing no hyphen sign.\\ % |~-| & Like |-| but with no break after the hyphen. Also for: % en-dashes (|~--|) and em-dashes (|~---|). \\ % |"/| & A slash slightly lowered, if necessary.\\ % \verb+"|+ & disable ligatures at this point.\\ % |"<| & Left guillemets.\\ % |">| & Right guillemets.\\ % |<<| & |\begin{quoting}|. (See text.)\\ % |>>| & |\end{quoting}|. (See text.) % \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 % 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 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 |\%|. % % \item |\lsc| provides lowercase small caps. (See subsection~3.10.) % \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: % \begin{itemize} % \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 |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 There is a dot after section numbers in titles 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. % % \item |\es@enumerate| sets the labels to be used by |enumerate|. The % same applies to |\es@itemize| and |itemize|. % % \item |\es@operators| stores the operator commands. % All of them are canceled with %\begin{verbatim} % \let\es@operators\relax %\end{verbatim} % \end{itemize} % The commands |\deactivatequoting|, |\deactivatetilden| and % |\selectspanish| may be used in this file, too. % % A subset of these commands is provided for % use in Plain \TeX{} (with |\input spanish.sty|). % % \end{userdrv} % %\StopEventually{} % %^^A ========== End of manual =============== % % \begin{userdtx} % % \section{The Code} % % \end{userdtx} % % \begin{userdrv} % % \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.} % % 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} [2003/09/12 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} \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`\~=\active \catcode`\"=12 \long\def\es@delayed#1\then#2\else#3\fi{% #1% \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi {#2}{#3}} % \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{}. % % \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 \else \let\ifes@plain\iffalse \fi % \end{macrocode} % % Translations for captions. % % \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 % \end{macrocode} % % And the date. % \changes{spanish~4.2a}{03/08/08}{Added the mechanism to % select \textit{del} or \textit{de}} % \begin{macrocode} \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\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 % config file. Use of |\selectlanguage| should be avoided at this % early stage because the active chars are not yet % active. |\selectspanish| makes them active. % % \begin{macrocode} \def\selectspanish{% \def\selectspanish{% \def\selectspanish{% \PackageWarning{spanish}{Extra \string\selectspanish ignored}}% \es@select}} \@onlypreamble\selectspanish \def\es@select{% \let\es@select\@undefined \selectlanguage{spanish}% \catcode`\"\active\catcode`\~=\active} % \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} \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}} % \end{macrocode} % % The definition of |\sptext| is more elaborated than that of % |\textsuperscript|. With uppercase superscript text % the scriptscriptsize is used. The mandatory dot is already % included. There are two versions, depending on the % format. % % \begin{macrocode} \ifes@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 %<<<<<< % \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. % % \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 %<<<<<< % \end{macrocode} % % The |quoting| environment. This part is not available % in Plain, hence the test. 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 % \end{macrocode} % % If there is a margin par inside quoting, we don't add the % quotes. |\es@listqout| stores the quotes to be used before % item labels; otherwise they could appear after the labels. % % \begin{macrocode} \addto\@marginparreset{\let\es@quotcont\@empty} \def\es@listquot{% \csname rquot\romannumeral\es@quotdepth\endcsname \global\es@listquottrue} \fi %<<<<<< % \end{macrocode} % % 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}}} \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 % \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} % % 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} \def\accentedoperators{% \def\es@op@ac##1{\acute{##1}}% \def\es@op@i{\acute{\dotlessi}}} \def\unaccentedoperators{% \def\es@op@ac##1{##1}% \def\es@op@i{i}} \accentedoperators \def\spacedoperators{\let\es@op@sp\,} \def\unspacedoperators{\let\es@op@sp\@empty} \spacedoperators % \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} % \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 % category `other.' After providing a |\'i| shorthand, % 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} \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} \gdef\es@activate#1{% \begingroup \lccode`\~=`#1 \lowercase{% \endgroup \def~{\es@use@shorthand~}}} \def\spanishdeactivate#1{% \@tfor\@tempa:=#1\do{\expandafter\es@spdeactivate\@tempa}} \def\es@spdeactivate#1{% \if.#1% \mathcode`\.=\es@period@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 \begingroup \lccode`\~=`#1 \lowercase{% \endgroup \bbl@deactivate{~}}} % \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'} % \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 % \end{macrocode} % % \changes{spanishb~1.1}{98/05/15}{Rewritten part} % \changes{spanish~4.0c}{98/12/07}{Optimized a bit} % % \begin{macrocode} \expandafter\ifx\csname @tabacckludge\endcsname\relax \let\es@tak\a \else \let\es@tak\@tabacckludge \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 % \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 %<<<<<< % \end{macrocode} % % The shorthands are activated in the aux file. Now, we begin % the shorthands group. % % \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}} \let\noshorthandsspanish\relax % \end{macrocode} % % First, decimal comma. % % \changes{spanish~4.1c}{00/10/03}{Removed an unnecessary macro.} % \begin{macrocode} \def\spanishdecimal#1{\def\es@decimal{{#1}}} \def\decimalcomma{\spanishdecimal{,}} \def\decimalpoint{\spanishdecimal{.}} \decimalcomma \es@set@shorthand{.} \@namedef{es@math\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 %<<<<<< \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}} \def\es@dashes-{% \@ifnextchar-% {\bbl@allowhyphens\hbox{---}\bbl@allowhyphens\egroup\@gobble}% {\bbl@allowhyphens\hbox{--}\bbl@allowhyphens\egroup}} \def\deactivatetilden{% \expandafter\let\csname spanish@sh@\string~@n@\endcsname\relax \expandafter\let\csname spanish@sh@\string~@N@\endcsname\relax} % \end{macrocode} % % The shorthands for |quoting|. % % \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{>}} % \end{macrocode} % % \changes{spanish~4.0e}{99/04/10}{\cs{es@quoting} is written to the % aux file, too} % \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} \declare@shorthand{spanish}{<<}{\begin{quoting}} \declare@shorthand{spanish}{>>}{\end{quoting}} \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 %<<<<<< \es@enumerate{1.}{a)}{1)}{a$'$} \def\spanishdashitems{\es@itemize{---}{---}{---}{---}} \def\spanishsymbitems{% \es@itemize {\leavevmode\hbox to 1.2ex {\hss\vrule height .9ex width .7ex depth -.2ex\hss}}% {\textbullet}% {$\m@th\circ$}% {$\m@th\diamond$}} \def\spanishsignitems{% \es@itemize {\textbullet}% {$\m@th\circ$}% {$\m@th\diamond$}% {$\m@th\triangleright$}} \spanishsymbitems \def\es@enumdef#1#2#3\@@{% \if#21% \@namedef{theenum#1}{\arabic{enum#1}}% \else\if#2a% \@namedef{theenum#1}{\emph{\alph{enum#1}}}% \else\if#2A% \@namedef{theenum#1}{\Alph{enum#1}}% \else\if#2i% \@namedef{theenum#1}{\roman{enum#1}}% \else\if#2I% \@namedef{theenum#1}{\Roman{enum#1}}% \else\if#2o% \@namedef{theenum#1}{\arabic{enum#1}\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}}}} % \end{macrocode} % % We need to execute the following code when babel has been % run, in order to see if |spanish| is the main language. % % \begin{macrocode} \AtEndOfPackage{% \let\es@activeacute\@undefined \def\bbl@tempa{spanish}% \ifx\bbl@main@language\bbl@tempa \AtBeginDocument{\layoutspanish}% \addto\es@select{% \@ifstar{\let\layoutspanish\relax}% {\layoutspanish\let\layoutspanish\relax}}% \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 %<<<<<< % % \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} % % \end{macrocode} % % 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. % % \begin{macrocode} %<*indexes> \makeatletter \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):} \@expandtwoargs\in@{.}{\answer} \ifin@ \edef\es@input@file{\expandafter\es@split@file\answer\@@} \edef\es@input@ext{\expandafter\es@split@ext\answer\@@} \else \edef\es@input@file{\answer} \def\es@input@ext{idx} \fi \typein[\answer]{^^JArchivo de destino^^J% (archivo por omision: \es@input@file.eix,^^J% extension por omision .eix):} \ifx\answer\@empty \edef\es@output{\es@input@file.eix} \else \@expandtwoargs\in@{.}{\answer} \ifin@ \edef\es@output{\answer} \else \edef\es@output{\answer.eix} \fi \fi \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)} \if s\answer \typein[\answer]{^^JCaracter para 'encap'^^J% (\string| por omision)} \ifx\answer\@empty\else \edef\es@encap{% `\expandafter\noexpand\csname\expandafter\string\answer\endcsname} \fi \typein[\answer]{^^JCaracter para 'open_range'^^J% (\string( por omision)} \ifx\answer\@empty\else \edef\es@openrange{% `\expandafter\noexpand\csname\expandafter\string\answer\endcsname} \fi \typein[\answer]{^^JCaracter para 'close_range'^^J% (\string) por omision)} \ifx\answer\@empty\else \edef\es@closerange{% `\expandafter\noexpand\csname\expandafter\string\answer\endcsname} \fi \fi \newwrite\es@indexfile \immediate\openout\es@indexfile=\es@output \newif\ifes@encapsulated \def\es@roman#1{\romannumeral#1 } \edef\es@slash{\expandafter\@gobble\string\\} \def\indexentry{% \begingroup \@sanitize \es@indexentry} \begingroup \catcode`\|=12 \lccode`\|=\es@encap\relax \catcode`\(=12 \lccode`\(=\es@openrange\relax \catcode`\)=12 \lccode`\)=\es@closerange\relax \lowercase{ \gdef\es@indexentry#1{% \endgroup \advance\es@processed\@ne \es@encapsulatedfalse \es@bar@idx#1|\@@ \es@idxentry}% } \lowercase{ \gdef\es@idxentry#1{% \in@{\es@roman}{#1}% \ifin@ \advance\es@converted\@ne \immediate\write\es@indexfile{% \string\indexentry{\es@b|\ifes@encapsulated\es@p\fi esromanindex% {\ifx\es@a\@empty\else\es@slash\es@a\fi}}{#1}}% \else \immediate\write\es@indexfile{% \string\indexentry{\es@b\ifes@encapsulated|\es@p\es@a\fi}{#1}}% \fi} } \lowercase{ \gdef\es@bar@idx#1|#2\@@{% \def\es@b{#1}\def\es@a{#2}% \ifx\es@a\@empty\else\es@encapsulatedtrue\es@bar@eat#2\fi} } \lowercase{ \gdef\es@bar@eat#1#2|{\def\es@p{#1}\def\es@a{#2}% \edef\es@t{(}\ifx\es@t\es@p \else\edef\es@t{)}\ifx\es@t\es@p \else \edef\es@a{\es@p\es@a}\let\es@p\@empty% \fi\fi} } \endgroup \input \es@input@file.\es@input@ext \immediate\closeout\es@indexfile \typeout{*****************} \typeout{Se ha procesado: \es@input@file.\es@input@ext } \typeout{Lineas leidas: \the\es@processed} \typeout{Lineas convertidas: \the\es@converted} \typeout{Resultado en: \es@output} \ifnum\es@converted>\z@ \typeout{Genere el indice a partir de ese archivo} \else \typeout{No se ha realizado ningun tipo de conversion} \typeout{Se puede generar el archivo directamente^^J% de \es@input@file.\es@input@ext} \fi \typeout{*****************} \@@end % % \end{macrocode} % % \Finale % %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% \endinput