Página siguiente Página anterior Índice general

6. Preguntas específicas para el LaTeX en castellano

6.1 ¿Cómo puedo usar TeX en castellano? o ¿Qué es lo mínimo que hay que saber para escribir en castellano con TeX/LaTeX?

En realidad, no es necesario nada adicional que no esté ya incluido en las distribuciones más habituales. El problema normalmente se reduce a tres cosas:

  1. Introducción de caracteres acentuados. Véanse las respuestas a las preguntas mediante órdenes LaTeX, ¿Cómo introducir directamente los caracteres extendidos? y acentos en modo matemático
  2. Literales en castellano. Véase la respuesta a la pregunta ¿Cómo cambiar los literales que LaTeX produce?.
  3. Patrones de partición de palabras (silabeo o guionado). Véase patrones de guionado donde se explica cómo hacer que TeX parta las palabras siguiendo las reglas del español.

6.2 Con LaTeX, ¿cómo puedo escribir los acentos y demás caracteres extendidos?

Mediante órdenes LaTeX

Cuando no hay más remedio, los caracteres extendidos se escriben así:

á  ==>  \'a        Á  ==>  \'A     ñ  ==>  \~n   ¿  ==>  ?`
é  ==>  \'e        É  ==>  \'E     Ñ  ==>  \~N   ¡  ==>  !`
í  ==>  \'\i{}     Í  ==>  \'I     ü  ==>  \"u
ó  ==>  \'o        Ó  ==>  \'O     Ü  ==>  \"U
ú  ==>  \'u        Ú  ==>  \'U
Sin embargo, ésto normalmente no es necesario. Véase la respuesta a la pregunta Introducir directamente los caracteres extendidos

Directamente mediante el paquete inputenc

El paquete inputenc permite escribir directamente en la página de códigos habitual, convirtiéndose internamente el texto introducido a texto LaTeX, de acuerdo con las diferentes tablas de equivalencia para las distintas páginas de códigos y de forma completamente transparente al usuario.

Si somos usuarios de UNIX, debemos poner al principio de nuestro documento (en lo que se denomina el preámbulo, entre \documentclass... y \begin{document}) lo siguiente:

\usepackage[latin1]{inputenc}
Si trabajamos con MS-Windog hay que usar ansinew (que es casi el latin1)
\usepackage[ansinew]{inputenc}
Si trabajamos con DOS, hay que poner esto:
\usepackage[cp850]{inputenc}
Y si somos de Macintosh, esto otro:
\usepackage[applemac]{inputenc}
Por lo tanto, el método recomendado para utilizar caracteres de 8 bits en TODAS las plataformas en LaTeX2e es escribir:
\usepackage[tipo]{inputenc}
para decir qué página de códigos de entrada usamos.

Ni este método ni el que se menciona en acentos LaTeX son válidos en modo matemático.

¿Cómo introducir acentos en modo matemático?

Para introducir acentos en modo matemático no hay más remedio que hacerlo mediante órdenes LaTeX, pero en este caso son distintas de las de la sección acentos LaTeX. Por ejemplo máx se escribiría en modo matemático como m\acute{a}x. Si se quiere un acento sobre una i, tanto spanish para babel como el paquete dotlessi (CTAN://macros/latex/contrib/supported/bezos/dotlessi.sty) proporcionan la orden \dotlessi; por ejemplo, mín se escribiría m\acute{\dotlessi}n.

spanish.sty ya proporciona algunas de estas palabras acentuadas, por ejemplo, después de cargar el paquete babel con la opción spanish mediante \usepackage[spanish]{babel}, $\min a$ permite escribir la palabra acentuada. También proporciona un \dotlessi que complementa a \imath.

6.3 ¿Puedo compartir mis archivos LaTeX en los que he escrito los acentos directamente?

Si los caracteres acentuados están escritos mediante órdenes LaTeX pueden compartirse sin problemas, ya que se utiliza únicamente codificación de 7 bits.

Si introduzco las letras acentuadas directamente como en utilizando inputenc, tendré dos posibles problemas:

  1. ¿Me servirá para otros ordenadores que utilicen una página de códigos diferente?, pues la segunda mitad del conjunto de caracteres es distinta de unos a otros.
  2. ¿Podré enviarlo por correo electrónico?, pues solamente acepta 7 bits.
¿Cómo se soluciona esto? Con GNU recode, con MIME, o con las dos cosas, según el caso.
  1. Si simplemente se quiere procesar el documento, sí que servirá para otros ordenadores: Ejemplo: Si nosotros tenemos Unix y alguien que usa Macintosh nos da (en disquete) un archivo con los códigos del Mac, nuestro LaTeX lo entenderá y lo procesará bien si lleva la llamada a inputenc, dando el resultado correcto, aunque no podamos ver correctamente el texto original con nuestro editor de texto.

    Si queremos además modificar el documento o simplemente ver bien o simplemente ver bien el texto sin procesar original, necesitaremos convertirlo a la página de códigos que se utilice en nuestro ordenador. Para ello recurriremos a GNU recode escribiendo:

    recode applemac:latin1 archivo.tex
    
    que nos convierte el documento de la página de códigos applemac a la latin1. Si ahora modificamos la línea del inputenc para que ponga latin1 en lugar de applemac todo funciona exactamente igual que antes en cuanto al resultado. ¡Magia! ¿Dónde encontrar fuentes o binarios precompilados de recode? En los siguientes lugares:

    fuentes

    En cualquier réplica del archivo GNU, en el directorio recode.

    DOS

    ftp://ftp.simtel.net/pub/simtelnet/gnu/gnuish/dos_only o en el mismo lugar en cualquier répilca del archivo simtel.

    DOS32

    ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/ o en el mismo lugar en cualquier répilca del archivo simtel.

    win32

    http://www.weihenstephan.de/~syring/win32/UnxUtils.html

    unix

    En caso de no tener directamente binarios precompilados, suele ser sencillo compilar el programa a partir de las fuentes para cada sistema unix concreto.

  2. Para evitar problemas con el correo, siempre se puede convertir el documento a formato LaTeX antes de mandarlo por correo. Después de todo, la mayoría de lo que se escribe es para uno mismo, no para mandarlo por correo. Ejemplo: Si alguien tiene un Mac, para enviar algo por correo debe en primer lugar hacer una copia del documento (pues GNU recode machaca el original). Con la copia se puede hacer:
    recode -d applemac:latex archivo.tex
    
    y ya podemos enviar el archivo.tex resultante por correo. Supongamos que el receptor trabaja con Unix, tendría que escribir:
    recode -d latex:latin1 archivo.tex
    
    y cambiar el inputenc, en su caso.

    En cualquier caso, si es posible, es mucho mejor enviar el archivo directamente con acentos utilizando el estándar MIME con quoted-printable, de esta forma llega el archivo con los acentos intactos aún usando los canales habituales de 7 bits. Naturalmente debemos ponernos de acuerdo con el receptor del mensaje para que él también tenga un programa que acepte MIME, pero dado que es un estándar, todo el mundo debería acabar teniéndolo.

Nota al margen: recode 3.4 no transforma correctamente de 850 a iso, porque no convierte bien los retornos de carro. A partir de la versión 3.4.1 se supone que lo hace correctamente. Si la versión de recode que tenemos es la problemática, se puede usar la opción -a de unzip para corregir los retornos de carro. Si nuestro documento no tiene mayúsculas acentuadas, se puede usar la opción ibmpc:l1 (ibmpc es sinónimo de 437).

6.4 ¿Cómo cambiar los literales que produce LaTeX?

Cuando Lamport hizo el LaTeX original, proporcionó una serie de estilos estándar como ejemplo de uso. Estos estilos se hicieron muy populares, principalmente porque todas las instalaciones de LaTeX los tienen. Sin embargo, estos estilos utilizan unos convenios muy particulares y es fácil que un usuario desee cambiarlos. Algo especialmente molesto para el uso en castellano de los estilos estándar, es que generan determinados títulos (p.ej. Contents, Bibliography, etc.) en inglés, lo que hace inaceptable su uso.

Aunque era posible crear versiones modificadas para otros idiomas, se extendió la idea de internacionalizar dichos estilos. Por ejemplo, donde ponía la palabra Contents se ha cambiado por \contentsname y se define aparte el valor de esta macro.

Esta es la forma en que funciona LaTeX2e actualmente. De esta manera, es posible continuar usando los mismos estilos estándar en diferentes idiomas, simplemente redefiniendo el valor de estas macros en el documento o en un estilo aparte, por ejemplo con

\renewcommand{\contentsname}{Tabla de materias}

Un paquete de estilos que hace esto es babel -- Véase ¿Qué es babel?. Cuando se quieren hacer estos cambios en un documento que utiliza babel con spanish.sty hay que proceder de una forma un poco distinta. Véase Modificando los literales de spanish.sty

6.5 ¿Cómo hacer que LaTeX parta correctamente las palabras en castellano?

¿Qué configuraciones (o patterns) existen para la partición de palabras?

Lo primero que hay que decir es que la partición en castellano es algo mucho más complejo de lo que pudiera parecer a simple vista. Aunque el español es un lenguaje muy regular, tiene ciertas anomalías que convierten este tema en un campo minado. Hay dos conclusiones básicas: 1) No es posible encontrar el 100% de los cortes legales y 2) no es deseable. Para empezar, la Academia permite partir tanto por componentes (sub-ur-ba-no) como silábicamente (su-bur-ba-no). Además el concepto de sílaba es en algunos casos confuso y la etimología tampoco ayuda (Ej: su-bli-me, a pesar de derivar de sub-limis, contra sub-li-mi-nal). Sin mencionar que los conceptos de diptongo e hiato distan mucho de estar claros. Este último caso viene a carecer de importancia, pues libros de estilo consultados prescriben ignorar los hiatos al partir palabras. El siguiente comentario de Fernando M. Fournon González-Barcia es interesante para ilustrar los problemas:

"La RAL dice que es POTESTATIVO lo de la separación por prefijos. Al menos en el esbozo, que si somos puristas y nos atenemos a la única gramática válida, la del 31, casi ni eso."
"Creo que, estéticamente, lo mejor es no partir nunca, salvo cuando la cosa vaya a quedar muy fea (esta recomendación también la hace la RAL), como hace el LaTeX, y entonces partir lo más conservadoramente posible. Si para los poquísimos casos en que un párrafo se pone pesado y en vez de partir subur-bano hay que hacer sub-urbano, pues ..., que se haga a mano, ¿no?."
"Otra cosa es que al partir surjan vocablos malsonantes. Esto SÍ que debería de comprobarlo cualquier separador de palabras, pues normalmente es muy difícil detectarlos a simple vista (si es que hay tiempo para releer nuestros propios artículos). O sea, que antes que una lista de prefijos, sugeriría la creación de una lista de tacos y cacofonías varias. :-)"
Es decir, lo mejor es evitar cualquier caso conflictivo en los patrones (patterns) de uso general. Localmente puede hacerse los que se quiera, usando excepciones o introduciéndolos a mano, por ejemplo.

Al día de hoy existen 4 tablas diferentes de partición:

¿Cómo activo el patrón de partición de palabras para el castellano?

Para activar el patrón de partición para el castellano es necesario tener babel -- Véase ¿Qué es babel? -- instalado y generar el formato cargando el patrón de separación en sílabas en castellano. Esto podemos hacerlo de la siguiente manera

Para TeX y LaTeX: Cambiando el archivo language.dat

Para LaTeX.

Una vez hecho lo anterior no es necesario más que rehacer los formatos -- Véase ¿Cómo rehacer los formatos? --. Entonces cuando se llame a babel con la opción spanish, éste se encargará de utilizar los patrones de guionado en castellano.

Para plain-TeX

Por omisión, cuando el initex crea el formato, carga el archivo hyphen.tex que contiene las reglas de silabeo en inglés. Para activarlo también en plain-TeX se debe copiar el archivo hyphen.cfg como hyphen.tex en algún sitio que en el camino de búsqueda de TeX esté antes del hyphen.tex que viene como parte de plain-TeX y asegurarse que existe el archivo ushyph1.tex (que realmente es el mismo que el hyphen.tex original, pero con otro nombre). Este paso no es necesario si sólo se quiere la partición de palabras para LaTeX y se va a utilizar babel, pero tampoco sobra.

Para los usuarios de teTeX los archivos están en TEXMF/tex/config/babel/hyphen.cfg y el hyphen.tex original en TEXMF/tex/generic/hyphen/hyphen.tex

Para los usuarios de MikTeX, los archivos están en TEXMF/generic/hyphen/hyphen.cfg y TEXMF/generic/hyphen/hyphen.tex

En caso de no conseguirse hacer lo anterior también puede sustituirse el archivo hyphen.tex por el hyphen.cfg, pero debe tenerse cuidado al actualizar la distribución de no sobreescribir el hyphen.tex con al que venga con la distribución nueva.

Entonces es necesario reconstruir el formato como se indica en ¿Cómo rehacer los formatos?.

Cuando se quiere usar el silabeo en castellano, hay que agregar en el archivo .tex, al principio, una linea que diga \language1 si el castellano es el segundo lenguaje (no sinónimo) del language.dat (\language0 correspondería al inglés americano)

A pesar de que he activado los patrones de partición de palabras del castellano, hay una palabra que se me resiste

Aunque los patrones de partición de palabras intentan abarcar el mayor número de casos posible, siempre puede quedar alguna palabra recalcitrante. También puede ocurrir que la partición sea correcta, pero no deseable a los ojos del autor del documento. En este caso hay dos posibilidades:

Mi TeX no parte las palabras que tienen acentos. ¿Por qué?

El primitivo \accent detiene la partición. Es posible ayudar a TeX invocando la siguiente macro después de un acento:

\def\allowhyphens{\penalty10000 \hskip0pt}
spanish.sty lo hace automáticamente en caso necesario. En cualquier caso, lo mejor es usar fuentes con las letras acentuadas como por ejemplo las descritas en DC/EC, o ML-TeX, y patrones de partición que contemplen esto.

6.6 Acerca de spanish.sty

Los archivos para escribir en castellano con babel (spanish.*) los creó y mantuvo durante mucho tiempo Julio Sánchez. Ahora esos archivos los mantiene Javier Bezos. Aún no están en su lugar correcto en la estructura de babel, aunque se encuentran en un subdirectorio y reciben el nombre de spanishb.*. En la próxima versión de babel serán ya oficiales.

¿Por qué spanish.sty pone los meses en minúscula?

Ese es el uso aceptado en la actualidad. Documentos de la propia RAL lo hacen así. El María Moliner también. Véase la siguiente cita del María Moliner, 1990,

"7. Aunque entre los preceptos de la G.R.A. figura el de escribir con mayúscula los nombres de los meses, de los días de la semana y de las estaciones, [...] ha dejado decididamente de usarse la letra mayúscula en uno y otro de estos casos"

¿Por qué el spanish de babel reemplaza el punto decimal por una coma?

Por tres razones: 1) porque las normas internacionales establecen que ha de usarse coma para los decimales, excepto en aquellos países cuya tradición hace preferible el punto (la propia ISO usa coma en sus informes); 2) porque el punto decimal en España carece de fuerza legal y sólo la coma es oficialmente válida, y 3) porque la coma es el único signo usado en la vida diaria. Probablemente, la situación es similar en otros países, salvo México.

Se puede cambiar el comportamiento predefinido con la orden \decimalpoint o \spanishdecimal{.}. En unas pocas materias, como el análisis númerico o la estadística, es necesario distinguir la coma decimal de la coma para separar datos; en este caso se puede aumentar el espaciado de estas últimas con:

\makeatletter
\def\es@decimal{{\mathchar"613B}}
\mathcode`,="8000
\begingroup
\catcode`,=13
\gdef,{\mkern2mu\mathchar"613B\mkern8mu}
\endgroup
\makeatother
(Se pueden probar otros valores en lugar de 2 [antes] y 8 [después]. La unidad mu de TeX es para matemáticas [aprox. 1/18 em].)

¿Por qué spanish.sty acentúa la I de Índice?

Así lo han sostenido los tratadistas más importantes sobre ortografía y tipografía desde hace más de un siglo: << La mayúsculas deben llevar la tilde que les corresponda >> (Sanmartí, 1907). La RAE finalmente lo ha considerado normativo en su ortografía de 1999: <<El empleo de las mayúsculas no exime de poner tilde cuando así lo exijan las reglas de acentuación >> (p. 31).

¿Dónde se puede obtener la documentación de spanish en castellano?

La documentación de spanish que se incluye al componer user.drv está en inglés, pero el archivo spanish.dtx también la incluye en castellano. Basta con componer este archivo y obtendremos un detallado manual como spanish.dvi.

¿Cómo cambio los nombres de las secciones de bibliografía, índice, etc... que pone spanish.sty?

Si no importa que este cambio no siga las características de babel y spanish de cambio de idioma sobre la marcha, etc.., se puede hacer de la misma forma que en la sección ¿Cómo cambiar los literales que produce LaTeX? poniendo las definiciones después de llamar a babel. El problema de este método es que no está bien integrado con babel y por ese lado puede dar problemas, ya babel activa algunos cambios al llegarse al \begin{document}.

Si embargo existe una forma más elegante e integrada con spanish y babel. En el preámbulo del documento hay que añadir lo siguiente, por ejemplo, para cambiar Bibliografía por Referencias

\addto\captionsspanish{%
\def\bibname{Referencias}%
}
Y así con todos los nombres necesarios. La lista de nombres está en los dos lugares siguientes
TEXMF/tex/generic/babel/spanish.ldf 
TEXMF/tex/generic/babel/spanish.tex

¿Cómo consigo que babel y spanish.sty no utilicen los atajos de teclado NUNCA?

Este ha sido un problema muy frecuente con babel y spanish, que ha dado como consecuencia que, por ejemplo, en las bibliografías nombres como "J. N. Apellido" aparecieran como "J.Ñ. Apellido". Para solucionar este problema, spanish ofrece ahora la orden \deactivatetilden que elimina el uso de ~ para la eñe, al tiempo que preserva su función de espacio sin división (la orden \shorthandoff de babel cancela ambos usos). El estilo spanish también proporciona más facilidades para desactivar otras abreviaciones, que están descritas en spanish.dtx, por ejemplo \deactivatequoting en el preámbulo.

Sin embargo ésto y el que funcione correctamente ha cambiado mucho entre distintas versiones de babel lo que hace que a veces los documentos creados con una versión de babel no sean directamente portables a otros sistemas. Aunque es recomendable actualizarse a la última versión de spanish y babel en todos los ordenadores implicados, en caso de no poderse hacer, la siguiente línea (en LaTeX2e) en el preámbulo del documento elimina los atajos de teclado

\AtBeginDocument{\gdef~{\nobreakspace{}}\catcode`\"=12}
útil para documentos que se utilizarán en distintos ordenadores, alguno de ellos con versiones antiguas de babel o spanish.

6.7 ¿Cómo puedo indicar la abreviatura de los ordinales?

En LaTeX2e pueden utilizarse la órdenes \textordfeminine y \textordmasculine; por ejemplo, para abreviar María, escribimos M.\textordfeminine. Una variación de estas macros ha sido incorporada a spanish.sty versión 3.0 y extendida en la versión 4.0. Se invocan como "a y "o, respectivamente, con la posibilidad de usar \sptext para casos como 1\sptext{er}.

6.8 ¿Cómo forzar sangría después de las cabeceras?

El objetivo de esa sangría (indentation para los que no estén al tanto) es marcar claramente la separación de los párrafos. Como tal, es superflua después de una cabecera. Hay otros sitios en los que, no sólo es superflua, sino que es confusa, como después de un texto que ya va sangrado (entorno quote, \[ \], un array, etc.) Sin embargo, es esencialmente una cuestión de gusto.

Modificarlo en un estilo es bastante fácil. La mayoría de las secciones, etc. en LaTeX son algo así como (en art10.sty):

\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus
-1ex minus -.2ex}{2.3ex plus .2ex}{\Large\bf}}
\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus
 -2ex minus -.2ex}{1.5ex plus .2ex}{\large\bf}}
El cuarto parámetro, si es negativo, indica que no se debe sangrar en el primer párrafo tras la cabecera. Cámbiese a positivo.

Hay otro procedimiento para estilos que ya están escritos y consiste en decir:

\let\@afterindentfalse\@afterindenttrue
\@afterindenttrue
Esta solución es la proporcionada en indentfirst.sty por David Carlisle

6.9 ¿Cómo puedo escribir las funciones matemáticas en español?

Comentario: Hay gente que discute el que las funciones vayan en español y lleve acento el lím, máx, etc. Argumentan que los nombres vienen del latín y allí no había acentos (y que en inglés también vienen del latín, lo cual, por ejemplo, es claramente incierto con gcd). El caso es que en todos los libros tradicionales en castellano se escribía lím y máx con acento. Si últimamente no se hace es precisamente porque TeX (en inglés) no lo tiene así. Todavía estamos a tiempo de no cometer ese error:

El caso más común es el del seno que, en plain TeX, basta definirlo como

\def\sen{\mathop{\rm sen}\nolimits} % Sustituye a \sin
Análogamente,
\def\mcd{\mathop{\rm mcd}\nolimits} % Sustituye a \gcd

\def\senh{\mathop{\rm senh}\nolimits} % Sustituye a \sinh

\def\arcsen{\mathop{\rm arcsen}\nolimits} % Ni el arcsin ni el
% arccos originales dejan espacio entre arc y sin o cos.
Cuando la función en español tiene algún acento (sobre todo en la i), es más complicado:
\def\max{\mathop{\rm m\acute ax}}

\def\min{\mathop{\rm m\acute\mathchar"7010n}}

\def\inf{\mathop{\rm \acute\mathchar"7010nf}}

\def\lim{\mathop{\rm l\acute\mathchar"7010m}}

\def\limsup{\mathop{\rm l\acute\mathchar"7010m\, sup}} % El limsup
% y el liminf originales dejan espacio entre lim y sup o inf.

\def\liminf{\mathop{\rm l\acute\mathchar"7010m\, inf}} 
Por último, adaptándolas de su definición original (ver pág. 361 del TeXbook) para poner el acento en las dos posibilidades de uso de mod hacemos:
\def\bmod{\mskip-\medmuskip \mkern5mu
  \mathbin{\rm m\acute od} \penalty900 \mkern5mu
  \mskip-\medmuskip}
\def\pmod#1{\allowbreak \mkern18mu ({\rm m\acute od}\,\,#1)}
En LaTeX se puede hacer de forma similar pero usando \newcommand o \renewcommand en lugar de \def.

6.10 ¿Qué verificadores ortográficos puedo utilizar para español?

ispell

ispell es un verificador ortográfico de uso libre que funciona en UNIX, aunque hay un port para emx en fase beta --que funciona o debe funcionar tanto en DOS (con 386 o superior) como en OS/2 2.x o en OS/2 Warp--.

Para ispell existe lo siguiente:

El que hay en ftp.dante.de es de

Julio Sánchez
El que hay en ftp.fi.upm.es es de
Santiago Rodríguez  (srodri@fi.upm.es)
Jesús Carretero  (jesus@fi.upm.es)
                

Excalibur

Para Macintosh, existe un verificador ortográfico de documentos LaTeX (y plain TeX) llamado Excalibur. Es gratis, aunque el copyright es del autor, Rick Zaccone (zaccone@bucknell.edu).

Excalibur puede conseguirse por ftp anónimo en:

ftp://sol.eg.bucknell.edu/pub/mac

Juan Luis Varona (jvarona@dmc.unirioja.es) ha creado un diccionario con 292342 palabras (versión de septiembre de 1999) que funciona con Excalibur. Está realizado en formato de 7 bits, y la í la reconoce únicamente como \'{\i}. Pero puede modificarse si se desea. La versión más reciente puede encontrarse en

ftp://tex.unirioja.es/pub/tex/dict-mac
Asimismo, en la dirección mencionada para Excalibur, en el directorio Excalibur-dictionaries, se encuentran disponibles los diccionarios de los distintos idiomas. El diccionario español puede encontrarse también en CTAN en
CTAN://systems/mac/support/excalibur/Spanish_Dictionary.sit.hqx

4spell

4spell es un verificador ortográfico para Windows (32 bits) que se distribuye bajo una licencia libre (concretamente la GPL) y tiene un diccionario de castellano. Puede encontrarse en

CTAN://support/4spell

Winedt

El diccionario de Juan Luis Varona también se ha adaptado para su uso con el verificador ortográfico del entorno winedt para Windows. Está disponible en

ftp://tex.unirioja.es/pub/tex/dict-win

amspell

amspell es un verificador ortográfico para DOS. El diccionario de Juan Luis Varona también se ha adaptado para ser utilizado con amspell. La versión para amspell está disponible en

ftp://tex.unirioja.es/pub/tex/dict-pc
y amspell en
CTAN://support/amspell

6.11 ¿Cómo utilizo BibTeX en castellano?

Para esto hay dos aproximaciones,

Utilizar estilos adaptables (los abstyles)

Para que BibTeX funcione en español, Tomás Bautista ha modificado con babel una familia adaptable de estilos de BibTeX (también llamadas abstyles).

Con las abstyles se tiene la ventaja de utilizar un único estilo, de forma que el idioma de las referencias únicamente depende del elegido con babel. De este modo, si por h o por b, en cierto momento no se quiere el documento en inglés, sino por ejemplo en español o en alemán, sólo habría que cambiar la opción que corresponde en babel y no también el estilo puesto dentro del \bibliographystyle{estilo}.

Además, con las abstyles sólo es necesario un aplain.bst preparado para distintos idiomas, según lo elegido en babel. Están disponibles en CTAN/biblio/bibtex/contrib/abstyles-babel/.

Utilizar el paquete custom-bib

El paquete custom-bib (disponible en CTAN/macros/latex/contrib/supported/custom-bib/) permite crear estilos bibliográficos a medida, con una amplia serie de opciones y de idiomas. Para utilizarlo, una vez desempaquetado debe hacerse

latex makebst.tex
y responder a las (muchas) preguntas que se formulan. Es conveniente leerse previamente la documentación para ser consciente de qué se está preguntando en cada momento, ya que muchas de las preguntas no son obvias. El documento de Luis Seidel -- Véase la sección Tutoriales en castellano -- es una ayuda interesante al respecto.

6.12 ¿Cómo genero un índice alfabético con la ordenación correcta en castellano?

El problema con que uno se encuentra al utilizar makeindex es que no ordena correctamente las palabras con caracteres acentuados, ya que por ejemplo ordena la á como \'a que es lo que TeX escribe al archivo de índice y salvo que fuera la más reciente versión de makeindex de 8 bits ni siquiera las reconocería si estuvieran escritas directamente al archivo de índice como palabras acentuadas. A pesar de las limitaciones mencionadas para los idiomas que no pueden describirse mediante la tabla de caracteres de 7 bits, es posible utilizar makeindex en idiomas como el castellano. Para solucionar este problema hay varias aproximaciones:

Decir a makeindex cómo debe ordenar la palabra acentuada

Por ejemplo, para los acentos o para la ñ se introduciría la entrada al índice como

\index{optica@óptica}
\index{indice@índice}
\index{can^^ffa@caña}
y para una palabra compuesta como por ejemplo en
\index{optica electromagnetica@óptica electromagnética}

Utilizar el paquete esindex

esindex es un paquete desarrollado por Javier Bezos para facilitar la escritura de índices correctamente alfabetizados en castellano. Su única orden es \esindex que convierte su argumento a una forma adecuada. Por ejemplo,

\esindex{ca'n'on}
equivale a
\index{can^^ffon@ca'n'on}
Es necesario usar babel y que los acentos estén escritos en forma de abreviaciones ('a, 'e, etc.). El paquete utiliza ciertas órdenes internas de babel por lo su funcionamiento puede cambiar con versiones distintas a la 3.6.

Hay que señalar que con este paquete no se crea en el índice una entrada propia para la palabras que empiezan por eñe, sino que tan sólo se añaden al final de la ene. En el rarísimo caso de que hubiera palabras que empiezan por eñe habría que modificar el archivo .ind a mano. Este paquete puede encontrarse en

CTAN/macros/latex/contrib/supported/bezos/

Utilizar xindy

xindy es un sistema de indexación desarrollado por Roger Kehr, del Instituto de Informática Teórica de Darmstadt, que puede ser configurado fácilmente para adaptarse a las normas ortográficas de distintos idiomas, cada uno de ellos con un alfabeto distinto y con unas reglas de ordenación también distintas. xindy puede definir, para cada carácter del alfabeto, dónde debe ser éste ordenado (reglas de ordenación), así como a qué carácter o cadena es equivalente (reglas de equivalencia). Permite incluso definir reglas de ordenación de distinto nivel que pueden ser aplicadas de forma sucesiva. Este paquete puede encontrarse en /CTAN/indexing/xindy/ y su página web está en

http://www.iti.informatik.tu-darmstadt.de/xindy/
Existen unos archivos de estilo para utilizar xindy en castellano en la página anterior y la versión más reciente, incluyendo binarios para linux se puede encontrar en Uno de los estilos (es-mkidx.xdy) ordena según las reglas modernas del castellano mientras que el otro (es-tridx.xdy) ordena según las reglas ya obsoletas, con ch y ll. Su uso es algo distinto del habitual en makeindex
xindy -f tex2xindy estilo.xdy tu_archivo.idx
donde tex2xindy es un filtro que convierte sobre la marcha del formato habitual de los .idx al formato especial que utiliza xindy, estilo.xdy puede ser cualquiera de los dos mencionados (u otro cualquiera para otro idioma o particularizado por el autor del documento) y tu_archivo.idx es el que crea LaTeX a partir de las llamadas a \index.


Página siguiente Página anterior Índice general