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"»

54 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. :-)

Luis dijo...

Gracias por compartirlo, Santi. :-)

Hasta luego y ¡Feliz Navidad!

Unknown 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

Unknown 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,

Unknown 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

Unknown 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}

Unknown 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.

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.

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.

Luis dijo...

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

José D. Torres R. 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 :\.

José D. Torres R. 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.

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...

José D. Torres R. 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. :-)

Unknown 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

Unknown 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

Unknown 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

Unknown 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.

Buscamos a Wero 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.

L.A dijo...

Hola Luis,
Antes de nada, felicidades por el blog. Se aprende muchísimo.
Mi problema es el siguiente: he implementado la traducción de apalike del compañero Santi y me devuelve error cuando cito un libro que incorpora acentos en el archivo .bib. Con la versión en inglés de apalike no tengo problemas. ¿Por qué puede ser?
En principio, el archivo .bib y en el documento utilizan la misma codificación (UTF-8).
¿Qué puede estar fallando?

Muchas gracias.

L.A dijo...

Hola,
Me voy a contestar a mí misma puesto que ya he encontrado la solución y a alguien más le puede ahorrar un dolor de cabeza...
Lo que hice fue abrir el archivo .bst en un editor de código y lo guardé indicando la codificación UFT-8. ¡Eso es todo!
Ahora he notado otro problema, y es que las referencias bibliográficas no respetan las palabras en mayúscula (en siglas, por ejemplo) o cuando van seguidas de un interrogante de apertura.

Gracias!

Unknown dijo...

Para cualquiera con curiosidad con IEEEannot.bst, al parecer solo hay que cambiarlo una vez en
FUNCTION {bbl.and}{ "and" }
por
FUNCTION {bbl.and}{ "y" }.

Unknown dijo...

Hola, buenas con todos.

Cuando quiero insertar una bibliografía "book", lleno los datos obligatorios de manera correcta, sin embargo, al poner en los datos opcionales el referido a la edición, el latex deja de correr correctamente. Solo si lo dejo en blanco, vuelve a correr de manera correcta. Pero yo deseo que aparezca el número de edición de la bibliografía al cual yo hago alusión.
¿Cómo podría solucionar dicho problema?

Muchas gracias por su atención prestada y su ayuda!

Anónimo dijo...

Hola, estoy usando Formato APA, sin embargo, al citar me agrega los dos apellidos ejemplo: "...Vease en (Corona Gutierrez, 2019)...", estoy usando el apalike.bst con archivo .bib desde Zotero. En la lista de referencias me sale bien, pero donde coloco la cita me agrega los dos apellidos, agregué el .bst para que no saliera el and, pero ahora me anda los dos apellidos. Agradezco su ayuda.

Maryoris Pérez dijo...

Buenas noches, muchas gracias Luis, acabas de salvarme la vida, seguí tus pasos:

1. Descargue el archivo de google
2. Lo abrí con WordPad
3. Edite lo sugerido por ti
4. Compile y listo!!!

Bendiciones

EDGAR ROMARIO dijo...


Hola,

Le describo con un ejemplo mi dificultad,

\bibliographystyle{apalike}


@BOOK{LCT1999,

author={MEN},

title={Serie {L}ineamientos {C}urriculares {N}uevas {T}ecnologías y currículo de matemáticas},

publisher={Punto EXE Editores},

address={Bogota, Colombia},

year={1999},

}

Debo citar un libro del Ministerio de Educación Nacional (MEN)

En el archivo.bib la entrada author={MEN} me obliga escribir (MEN) la forma abreviada del Ministerio de Educación Nacional, en vista que cuando utilizo la instrucción \cite{} con la etiqueta correspondiente (\cite{LCT1999}), se obtiene en el texto el siguiente resultado:
Texto................... [MEN, 1999] una citación acorde a las normas APA.

Pero en consecuencias obtengo en la lista de referencias de forma compilada lo siguiente:

[MEN, 1999] MEN (1999). Serie Lineamientos Curriculares Nuevas Tecnologías y currículo
de matemáticas. Punto EXE Editores, Bogotá, Colombia.

Pero lo correcto sería:

[MEN, 1999] Ministerio de Educación Nacional (1999). Serie Lineamientos Curriculares Nuevas Tecnologías y currículo
de matemáticas. Punto EXE Editores, Bogotá, Colombia.

Cuando escribo en la entrada author={Ministerio de Educación Nacional}, obtengo como resultado en el texto la siguiente cita:

Texto................... [Ministerio de Educación Nacional , 1999] una cita NO acorde a las normas APA.

En resumen deseo obtener:

1. En el texto

[MEN, 1999]

2. En la lista de referencias

[MEN, 1999] Ministerio de Educación Nacional (1999). Serie Lineamientos Curriculares Nuevas Tecnologías y currículo
de matemáticas. Punto EXE Editores, Bogotá, Colombia.



Julian dijo...

Hay que cambiar los archivos en el origen, no en donde está el documento, i.e
C:\Users\Usuario\AppData\Local\Programs\MiKTeX 2.9\bibtex\bst\bibtex
Saludos.

Ximena Cano Gómez dijo...

Hola! Excelente entrada! Mil gracias, todo funcionó a la perfección y solucioné el "problema" en menos de 5 minutos!

Unknown dijo...

Hola, muy buena entrada pero aún no me funciona, alguien que me eche una manito? Incluí el archivo .bts en la carpeta de del documento .tex despues lo borré y lo incluí en el archivo de origen del programa y nada