miércoles, 9 de enero de 2013

Cómo poner "y" en vez de "and" en la bibliografía, cuando estamos escribiendo en español

Cuando una cita bibliográfica tiene varios autores, LaTeX los separa con la conjunción "and". Independientemente de si estamos escribiendo nuestro documento en inglés o en otro idiomañ lo que creo que es un fallo grave en LaTeX. Si por ejemplo, estamos escribiendo en español, los autores deberían separarse por la conjunción "y" (y a veces "e").

Lo mejor sería usar un estilo bibliográfico ya preparado para trabajar en español. Por ejemplo, "apalike-es.bst", que es una traducción al español del estilo "apalike.bst" (click aquí). Este estilo es muy inteligente y automáticamente te pondrá "y" o "e" dependiendo de si la siguiente palabra empieza o no por i. También te pone correctamente "Tesis de máster", "Tesis doctoral", etc.

Si queremos usar otro estilo distinto bst, y no tenemos su adaptación al español, siempre podemos tratar de editarlo nosotros mismo. En el resto de la entrada,  explico cómo hacerlo.



Para empezar, supongamos que nuestro documento de .tex es el siguiente:

\documentclass[a4paper,openright,12pt]{report}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage[sort&compress]{natbib}

\begin{document}

Como dicen \cite{Beatriz2010} puedes...

\bibliographystyle{apalike}
\bibliography{biblio}

\end{document}

En este caso, para que sirva de ejemplo, uso el formato de bibliografía "apalike.bst" (pero los pasos son similares con otros estilos bst). Este archivo lo habremos descargado de la web y salvado en la misma carpeta que nuestro archivo tex (click aquí).

Además, "biblio.bib" es un archivo donde tenemos salvado nuestra bibliografía. En este caso, el siguiente arículo:

@ARTICLE{Beatriz2010,
  author = {B. Beatriz and C. Carla},
  title = {Historias interesantes},
  journal = {Cuentos},
  year = {2010},
  volume = {66},
  pages = {203-212},
}

El resultado es el siguiente:


Para que aparezca "y" en vez de "and", tenemos que editar el fichero ".bst"

Como este fichero es medianamente grande, lo podemos abrir con Wordpad o Notepad++ o el editor de texto que quieras. Creo que es demasiado grande para abrirlo con Notepad.

A continuación, buscamos el texto «" and "» y lo sustituimos por «" y "».  En este caso, solo está en dos sitios, en las funciones siguientes. (Aunque esto depende de cada archivo .bst)

FUNCTION {format.names}
FUNCTION {format.lab.names}




Y ya está. Con esto ya debería de funcionar.




Este método tiene un problema. Y es que si el apellido del último autor empieza por I, nos va a poner "y", cuando lo correcto sería poner "e".

Por ejemplo, si añadimos el siguiente artículo: 

@ARTICLE{Guerrero2013,
  author = {A. Guerrero and M. Iguala},
  title = {Robots},
  journal = {robótica aplicada},
  year = {2013},
  volume = {55},
  pages = {400-409},
  owner = {lgomezpa},
  timestamp = {2014.07.01}
}

El resultado sería:

Como dicen \cite{Beatriz2010}, \cite{Guerrero2013} puedes...


Este no es un problema que nos vaya a pasar muchas veces, pero tenemos que resolverlo. Un método rápido (aunque poco elegante) de hacerlo, es añadir la referencia correspondiente a mano.

Primero, en el fichero .bib, escribimos entre {}, el nombre de los autores, como queremos que se vea en la lista de la bibliografía.

@ARTICLE{Guerrero2013,
  author = {{Guerrero, A. e Iguala, M.}},
  title = {Robots},
  journal = {Robótica aplicada},
  year = {2013},
  volume = {55},
  pages = {400-409},
  owner = {lgomezpa},
  timestamp = {2014.07.01}
}

Segundo, en el fichero .tex, escribimos a mano la referencia. Y para que aparezca en el bibliografía, la añadimos con \nocite.

Como dicen \cite{Beatriz2010}, Guerrero e Iguala (2013) puedes...
\nocite{Guerrero2013}




De la misma forma, podemos cambiar otras palabras que en la bibliografia aparezcan en inglés. Por ejemplo:
  • En una tesis de maestría.
    Buscamos la función "FUNCTION {mastersthesis}", y sustituimos:
    «"Master's thesis"»  por «"Tesis de Maestría"». O lo que más te guste a ti.


  • En una tesis de doctorado.
    Buscamos la función "FUNCTION {phdthesis}", y sustituimos:
    «"PhD thesis"»  por «"Tesis de Doctorado"». O lo que más te guste a ti.
  

  • En un informe técnico.
    Buscamos la función "FUNCTION {format.tr.number}", y sustituimos:
    «"Technical Report"»  por «"Informe Técnico"». O lo que más te guste a ti.

Nota: Si quieres que una letra esté siempre en mayúsculas, métela entre llaves. Por ejemplo «"Informe {T}écnico"»

50 comentarios:

Eduardo Tapia dijo...

Hola, Luis. Excelente post. He seguido tus indicaciones y he logrado cambiar el "and" por la "y", pero sólo en la bibliografía final. En la referencia dentro del documento aún sigue apareciendo el "and". Tienes alguna idea de cómo cambiarlo también ahí. Muchas gracias

Luis dijo...

Hola Eduardo,

creo que es porque solo has cambiado "and" por "y" en FUNCTION {format.lab.names}. Como digo en la entrada, también hay que cambiarlo en FUNCTION {format.names}.

Si así tampoco te funciona, ¿qué formato .bst estás usando?

Hasta luego

Eduardo Tapia dijo...

Hola, Luis. Estoy utilizando "apalike.bst". Lo he cambiado en ambos sitios. Pero hoy cambié el "and" por la "y" en el archivo "bibliotesis" en donde se guardan las referencias bibliográficas y me cambió el "and" por la "y" pero sólo en la bibliografía final, en las citas del texto aún seguía apareciando "and", por ejemplo (Karls and Prins).
Saludos!

Luis dijo...

Hola Eduardo,

vaya, pues no sé qué te estará pasando. Porque a mí me funciona correctamente. Yo trataría de hacer un ejemplo sencillo, como el que tengo en la entrada, a ver si ahí funciona correctamente.

En el archivo bib con la bibliografía, hay que separar los autores con "and", no con "y". El único archivo que hay que tocar es el bst.

Hasta luego y suerte.

Eduardo Tapia dijo...

Hola, Luis.
He probado con tu ejemplo y sí que funciona, lástima que con el mío no. Pero, bueno, le seguiré dando vueltas a ver porqué no va con el mío. Muchas gracias por tu amabilidad.
Saludos!

Luis dijo...

Pues qué raro... Quizás dependa del estilo que uses, en vez de report o book, a lo mejor usas otro distinto... Si al final descubres dónde estaba el problema, ya me lo dirás. Hasta luego

Antonio Cascales Vicente dijo...

Gracias por la entrada.
Me ha sacado de un apuro!!

Luis dijo...

Me alegro. :-)

Santi dijo...

Hola a todos. Por si os sirve de ayuda, dispongo de una traducción del estilo apalike y, hasta donde la he probado, funciona correctamente. Podéis descargarla de aquí: http://users.salleurl.edu/~si05993/es/software.html

Un saludo.

Luis dijo...

Gracias por compartirlo, Santi. :-)

Hasta luego y ¡Feliz Navidad!

Borja Carriles Guerrero dijo...

Buenas tardes Luis. Estoy con mi PFC, y ando un poco a líos con la bibliografía. No sé qué pasa, pero no quiero que me aparezca el tipo de referencia bibliográfica que estoy usando, te pongo una imagen para mostrártelo. Sabes qué puede ser? Muchas gracias, un saludo.

Imagen: https://www.dropbox.com/s/qwys0va6c0qqi9h/1.jpg

Luis dijo...

Hola Borja,

yo lo que haría sería añadir toda la bibliografía como "artículo". Y solo rellenar los campos que ves en el ejemplo. Autores, título, revista, año, volumen y página. (Si algo no tiene volumen o página, no lo añadiría, claro.)

Hasta luego

Javier Álvarez dijo...

Hola Luis!

He cambiado en el acm.bst el " and " por " y " (estaba en 2 sitios) y no funciona, no me cambia nada. Y además si pongo:

Isasi Viñuela,P. and Galván León, I.M.

Y no me lo hace bien me escribe:

Isasia V.P.,Galván L.I.M.

gracias!

Luis dijo...

Hola Javier,

he copiado el archivo "acm.bst" en mi carpeta de trabajo, he cambiado "and" por "y" en dos sitios

FUNCTION {format.names}
FUNCTION {format.innames}

y me funciona sin problemas.

Para los autores, yo pondría:

author = {P. {Isasi Vi\~nuela} and I. M. {Galv\'an Le\'on}}

Hasta luego,

Andrea Arias dijo...

Muchas gracias Luis, muy bueno tu post.
Ahora, tengo una duda: cómo puedo modificar el archivo apalike.bst para que liste las referencias según el orden en el que aparecen en el texto?.
Saludos!

Luis dijo...

Hola Andrea,
en ese caso, yo usaría mejor el estilo unsrt.bst, que ya las ordena de ese modo.
Hasta luego

Andrea Arias dijo...

Gracias Luis,
Pero es posible modificar el estilo "unsrt.bst" para que me aparezca la "y" en lugar del "and"??
Saludos!

Luis dijo...

Hola Andrea,
se hace igual, que con cualquier otro archivo bst.

Busca en google "unrst.bst". Lo copias en tu carpeta de trabajo (donde tengas tu archivo de latex). Lo abres con un editor de texto. Buscas algo que ponga "FUNCTION {format.names}", ahí, un poquito más abajo habrá una línea que pone

{ " and " * t * }

y que lo tienes que sustituir por
{ " y " * t * }

Y ya está.

Por cierto, con unrst, no funciona el paquete \usepackage{natbib}, hay que usar \usepackage{cite}

elizabeth Mancera dijo...

Hola, me gustaría saber como tener la opción de poner "e" en el caso donde el Nombre empieza con I

Luis dijo...

Hola Elizabeth, muy buena pregunta. Y no se me ocurre una respuesta elegante...

Lo único que se me ocurre, es hacerlo a mano. Es decir, en el fichero de la bibliografía fijaría el nombre con doble {}

author = {{Herrero B. e Izquierdo A.}}

Si en el texto las referencias son con números, pues no habría que hacer nada especial. Pero si las referencias son con apellidos, las añadiría a mano. Sin \cite.

Como dice Herrero e Izquierdo (2012)...

Y luego pondría un \nocite{ref} para que dicho artículo apareciese en la lista de la bibliografía.

Santi dijo...

Hola. Si le echáis un vistazo al código fuente del archivo que colgué más arriba (http://users.salleurl.edu/~si05993/es/software.html) veréis cómo lo implementé yo. Creo que os puede servir de ayuda.
¡Saludos!

Luis dijo...

Hola Santi, gracias por la información.

Me he bajado el estilo que desarrollaste, pero cuando compilo en LaTeX no me funciona. Todas las referencias me aparecen como no definidas.

No sé si tendrá que ver, pero en el enlace, el fichero apalike-es aparece como si fuera html.

Hasta luego y gracias.

Santi dijo...

Hola. Os pido disculpas porque es cierto que la descarga del archivo no era directa, la abría el navegador. Ya está corregido y ya se puede descargar el archivo .bst. Puede que esa fuera la causa del problema.
En cualquier caso, para usarlo basta con reemplazar el archivo 'apalike.bst' por el archivo 'apalike-es.bst' e inlcuir la línea '\bibliographystyle{apalike-es}' en el archivo principal del documento.
Saludos.

Luis dijo...

Santi, genial. ¡¡Funciona a las mil maravillas!! Muchas gracias.

Por cierto, con Google Chrome, el fichero bst se baja sin ningún problema. Sin embargo, con Firefox (e Internet Explorer), se sigue abriendo como si fuera una página en html. Todo el código en una única línea. Y supongo que estos navegadores hagan algo, porque aunque copie el código, luego desde LaTeX no funciona.

Otra cosa, a ver si me puedes ayudar. Siempre he dudado cuál es el mejor método para trabajar en LaTeX con apellidos con preposiciones y artículos. Por ejemplo "de Lucas" o "de la Calle", tendrían que ordenarse alfabéticamente por "Lucas" y "Calle", pero se ordenan por "de..."

Hasta luego y gracias.

Santi dijo...

Hola Luis. Cosas de los distintos navegadores... He incorporado un enlace alternativo al archivo en formato .zip y una nota informativa. Me alegro de que te haya funcionado, ¡espero que sea de utilidad a más personas!

http://users.salleurl.edu/~si05993/es/software.html

En cuanto a lo de ordenar los apellidos que incorporan preposiciones o artículos, esto depende de quien dicte la norma. En documentos oficiales de la administración pública a menudo se incorpora esa cláusula al nombre, ignorándola en el momento de ordenar por apellido.

Pero el estilo APA indica: "Alphabetize the surnames that contain articles and prepositions like de, la, du, von according to the rules of the language of origin. If you know that a prefix is commonly part of the surname (e.g., De Vries), treat the prefix as part of the last name and alphabetize by the prefix (e.g., DeBase precedes De Vries)". Es decir, si la cláusula forma parte del apellido (como suele ser habitual en la mayoría de los casos), esta debe ser considerada en el momento de ordenar alfabéticamente. Sin embargo, otro estilo diferente del APA puede que indique una regla distinta.

¡Un saludo!

Luis dijo...

Santi, genial. Mil gracias. ¡Y buen verano!

JDTR75 dijo...

Santi gracias por todo, yo lo que hice fue guardar una copia del archivo apa.bst y lo edité directamente usando el tuyo (apalike-es.bst) para comparar, todo me funciona perfecto excepto cuando voy a citar y tiene que hacer la verificación si va a usar "e" o "y", en lo que mando a compilar me da error :\.

Santi dijo...

Hola JDTR75. No te líes y hazlo más sencillo, sólo copia el archivo 'apalike-es.bst' junto con el archivo 'apalike.bst' e inlcuye la línea '\bibliographystyle{apalike-es}' en el archivo principal del documento. No debería darte problemas :)
Un saludo!

JDTR75 dijo...

Pues te cuento que no consigo el 'apalike.bst' en el MikTek por ninguna parte. Por eso me puse fue a modificar el 'apa.bst' que sí está. No sé si es que me falta algún paquete, tengo el "natbib" que lo instalé aparte, pero no sé si falte algún otro.

Santi dijo...

Hola JDTR75. Me temo que te falta el paquete "apalike" para que puedas, después, reemplazar los archivos que te indicaba. Tendrás que descargarlo e instalarlo, pero tal vez Luis pueda ayudarte mejor.
Un saludo.

Luis dijo...

Hola, no hay ningún problema para encontrar el archivo "apalike.bst". Basta con escribir eso en google, y ahí te aparece. También está en uno de los links que tengo en esta entrada...

JDTR75 dijo...

Listo, faltaba el paquete "apalike" como dijo Santi. Muchas gracias por este aporte, y a Luis por supuesto por el post principal.

tsuki dijo...

Hola Luis, muchísimas gracias! Santi igual muchas gracias, me sirvió de maravilla tanto tu archivo como los pasos de Luis :)

Luis dijo...

Me alegro tsuki. :-)

Michael Sacatuma dijo...

hola como estas, tengo un problema al visualizar la bibliografía no aparcere trate muchas veces pero no me sale, espero que me puedas ayudar, hasta luego

Luis dijo...

Hola Michael,

supongo que tendrás algún nombre mal puesto el nombre de la etiqueta, o quizás el fichero con la bibliografia esté mal puesta, o el fichero .bib no esté, o quizás no estés compilando la bibliografía...

Haz un ejemplo sencillito y mira a ver si te funciona. Como los que pongo aquí

http://minisconlatex.blogspot.fr/2011/03/bibliografia.html

Joany Mariño dijo...

Hola Luis,
Me parece genial tu blog para los que estamos aprendiendo LaTeX. Esta entrada me ha ayudado mucho. Sin embargo al correr el apalike-es, BibTeX no reconoce los caracteres acentuados. Lo resolví indicando los acentos manualmente en el archivo de apalike-es.bst pero supongo que debe haber una forma más elegante de hacerlo.

Gracias =)

Luis dijo...

Hola Joany, me alegro. :-)

Creo que el problema es de JabRef, no de apalike-es. Para los caracteres con acento, hay que usar un tipo de codificación (utf8, cp1252...). Creo que JabRef está usando cp1252, y LaTeX utf8. De esta forma, cuando LaTeX llama a la bibliografía, no la entiende...

Lo único que se me ocurre, es la solución que propones. Gracias por compartirla.

Hasta luego

Emy dijo...

Hola tengo dos preguntas. Estoy usando apalike y quiero pasarme al apalike-es, pero no se a donde dice que hay que pegar el archivo que bajamos. Dicen reemplazar apalike por apalike-es, pero en mi mac no encuentro donde están esos ficheros. Otra cosa es que cuando tengo un autor con un nombre largo citado en el texto, y queda al final del margen, el Latex no me lo corta. La referencia citada se sale del margen y no se como ajustarlo. Hay algún remedio. No me sale nada en la web.

Gracias

Luis dijo...

Hola Emy.

Apalike-es lo tienes que copiar en tu carpeta de trabajo(donde tengas tu archivo tex).

Para que LaTeX sepa cómo separar por sílabas los nombres de los autores, indícaselo de la siguiente forma: Gus\-ta\-vo.

Hasta luego

ardc dijo...

Hola Luis.

Muy buena entrada, muchas gracias. Hice todo lo que indicas y funcionó perfectamente. Aprovechando y esperando que no sea mucha molestia, me gustaría saber si existe una manera de sustituir los corchetes que encierran cada referencia por paréntesis, es decir, si es posible sustituir la siguiente salida (por dar un ejemplo):
[James, 2012] por (James, 2012).

Realicé algo muy chafa en la función {output.bibitem}; sustituir el corchete por un paréntesis, pero no me funcionó. Tienes alguna idea de hacer lo que necesito?

Te agradezco de antemano.

Raymundo

Luis dijo...

Hola Raymundo,
en ese caso, yo lo que haría sería buscar un estilo bibliográfico que ya lo haga de esa forma. Por ejemplo, creo que Apalike haría "James (2012)".
Hasta luego

victorhugo dijo...

Una consulta si yo quisiera conservar el estilo bibliográfico, por ejemplo el estilo “unsrt”, como haría para cambiar de "and" a "y". Probé con el apalike que explicas en este artículo pero en mis referencias cada uno aparecen con la etiqueta que las he citado, pero yo quisiera que mis referencia aparezcan enumeradas como hace el estilo “unsrt”. Gracias anticipadas por la respuesta. Saludos.

Luis dijo...

Hola Víctor,
Bueno, en ese caso, podrías tratar de editar el archivo unsrt.bsk. Yo lo copiaría en la carpeta de tu proyecto de LaTeX y lo cambiaría ahí.
Hasta luego

Andrea Gomez Giraldo dijo...

Hola Luis...

Intente hacer el cambio que tu dijiste en el archivo apalike.bst y no me funcionó, continua mostrandome "and" tanto en la cita como en las bibliografia final. También descargue tu archivo apalike-es y lo guarde en la carpeta "bst/apalike". Será que de pronto la guarde en el lugar equivocado??

Luis dijo...

Hola Andrea,

El formato apalike-es no es mío. Es de un usuario llamado Santi. Entre los comentarios más arriba puedes ver su página web.

Para que funcione el formato "aplike-es", tienes que copiar los archivos "apalike.bst" y "apalike-es.bst" en la misma carpeta donde tengas tu archivo .tex, que estés creando.

Y luego, en el archivo .tex, tienes que poner:

\bibliographystyle{apalike-es}


Si quieres probar el otro método (editando directamente el archivo "apalike.bst"), también tienes que copiarlo en la carpeta donde tengas tu archivo .tex, que estés creando.

Espero que así funcione.
Hasta luego

Andrea Gomez Giraldo dijo...

Hola Luis...

Gracias por tu respuesta. Pero aun no me funciona. Copie los archivos en la carpeta donde estoy generando el archivo.tex y nada aún, también intente cambiar el archivo fuente .bst y tampoco.

Bueno... seguiré mirando a ver cual es el error

Andrea Gomez Giraldo dijo...

Hola Luis...
Te cuento que logre solucionar el problema, me imagino que tenia que ser algo con la compilación del la bibliografía nuevamente, porque al final tuve que generar nuevamente el archivo biblio y ahí si me funciono.

Además te quería felicitar y agradecer por este blog, es excelente para poder solucionar los problemas de Latex.

Finalmente, para el Usuario Santiago gracias por el archivo apalike-es, fue de gran utilidad.

Luis dijo...

Me alegro, Andrea. :-)
Hasta luego y gracias.

Héctor Hernández dijo...

Hola, muchas gracias por el post. Afortunadamente, en otro sitio encontré un apalike en español. Sin embargo, tengo una duda que puede estar relacionada con lo que aquí se soluciona. En varias referencias quiero cambiar el rubro de Editor por Coordinador. , ¿sabes cómo lo puedes hacer? No es en todas, pues algunas sí requieren que se mantenga la etiqueta de Editor. Gracias por tu ayuda.