Traducción al español de BibTeX
Publicado: 2021-01-12Cuando hablo de “traducir BibTeX al español” hablo de una cosa simplemente: de cambiar el maldito and que separa los autores de una fuente bibliográfica por un jodido y. Eso es todo.
Horas y horas de búsqueda, sin mucho resultados. Hasta que di con la Guía casi completa de BibTeX, que contiene una sección llamada Cómo españolizar los estilos estándar.
La verdad es una lectura densa, que menciona que hay cuatro posibilidades.
La primera fue por medio de unos archivos relacionados con babel, algo sobre estilos. Los busqué, residen en el paquete abstyles, pero no había rastro del estilo ieeetr
con el que yo trabajo… no era opción.
La segunda era descargar el archivo spain.bst
, disponible en como parte del paquete spain, y colocarlo en mi directorio de mi proyecto LaTeX. Esto implicaba cambiar mi estilo de fuente de ieeetr
a spain
, como sigue:
\bibliographystyle{spain} \bibliography{bibliografia}
No obstante, al compilar con este nuevo estilo obtuve muchos errores, del tipo Missing $ inserted
. Otro camino infructuoso.
La tercera opción era preparar mi propio estilo bibliográfico, y decía algo de toda una sección para hacerlo. ¡Pero yo no quería todo un estilo, solo traducir un puto and a su y en español! ¿Era mucho pedir?
Eso me dejo con la cuarta y última opción: encontrar el fichero del estilo que estoy utilizando para prepararlo para trabajar en español.
Con las demás opciones agotadas, era el único camino viable. Además, encontré otro artículo en línea donde hacían algo similar con el estilo unstr
.
Puestos a la tarea, lo primero que hice fue investigar los directorios donde LaTeX podría estar instalado en mi Mac. Para eso, corrí el diagnóstico de Sublime Text con LaTeXTools, como se muestra en la figura 1.

De ahí obtuve el directorio base donde podría encontrar el archivo con el estilo ieeetr
(/usr/local/texlive/
). No obstante, como no sabía exactamente donde podía estar, ejecuté lo siguiente:
find /usr/local/texlive/ -type f -exec grep -H 'ieeetr' {} \;
Me dio 186 resultados. Pero uno en particular llamó mi atención: el archivo /usr/local/texlive/2020/texmf-dist/bibtex/bst/base/ieeetr.bst
.
Así que copie ese archivo y busque por la palabra and, que dio 27 coincidencias. Busqué entre ellas esperando encontrar una instancia donde esa miserable cadena pudiese fungir como simple texto a ser impreso y no como operador para distinguir dos autores… hasta que la encontré.
Dentro de la función format.names
, en la línea 224, y simplemente la reemplacé por un y:
FUNCTION {format.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { numnames #2 > { "," * } 'skip$ if$ t "others" = { " {\em et~al.}" * } { " y " * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ }Y, por fin, tras:
- buscar y encontrar el archivo de estilo de bibliografía
ieeetr
(archivoieeetr.bst
), - copiarlo en el directorio de mi proyecto LaTeX,
- buscar y encontrar la instancia del and que debía ser cambiado, y
- eliminar los archivos temporales y recompilar el documento…