Archivo de la etiqueta: bibliografía

Lo que he aprendido: manejar referencias bibliográficas en Emacs

Detesto instalar programas, aprender dónde están los botoncillos en un programa nuevo y que luego no me convenza y vuelta a empezar. Supongo que es uno de los motivos por los que me encanta Emacs: mismo programa, miles de tareas diferentes.

Últimamente he estado hurgando un poco en sus habilidades como gestor bibliográfico. Como ya os conté, yo suelo usar Jabref que es el programa que aprendí a usar en su momento y con el que me apaño bien para añadir referencias directamente desde la web, pero hay veces en las que manejar texto plano a pelo me parece más conveniente. ¡Y para eso no hay nada que iguale a Emacs! Os cuento un poco.

El modo BibTeX

La forma más básica para trabajar con bibliografías en Emacs es el modo BibTeX: se carga directamente al abrir un archivo con extensión .bib y nos permite organizar (M-x bibtex-sort-buffer) y adecentar (C-c C-c ) nuestras referencias.

Para insertar entradas tenemos el comando genérico C-c C-b tras el que podemos usar autocompletado, o el grupo de comandos que empiezan por C-c C-e. Por ejemplo, para crear una entrada de tipo artículo podemos hacer lo siguiente:

  • con C-c C-e C-a (o M-x bibtex-Article) creamos una plantilla para artículo;
  • rellenamos los datos necesarios, algunos comienzan por OPT porque son opcionales;
  • al acabar hacemos C-c C-c (o M-x bibtex-clean-entry) para quitar los campos opcionales que no hemos rellenado y que nos corrija el formato;
  • si no le hemos puesto una palabra clave nos sugerirá una y la entrada estará finiquitada y lista para ser citada.

Otro comando interesante es M-x bibtex-fill-entry (generalmente C-c C-q ) para alinear correctamente cada entrada bibliográfica. Y tampoco está mal establecer la variable bibtex-maintain-sorted-entries para tener las referencias en orden alfabético.

Como siempre, podemos recurrir a M-x describe-mode para que Emacs nos explique qué hace el modo. Es un modo chiquitico, pero muy útil para embellecer la lista de referencias ya que ayuda a cambiar de mayúsculas a minúsculas, quitar espacios innecesarios y míticas mierdas que, a las que somos maniáticas, nos ponen muy nerviosas.

Helm-bibtex

Mi modo favorito para gestionar las referencias bibliográficas en Emacs es Helm-bibtex. Lo descubrí intentando abrir los artículos que cito directamente desde Emacs y lo he introducido directamente en mi rutina de escritura científica (que algún día os contaré) junto con AUCTeX y RefTeX.

Es sencillito de usar: una vez instalado, lo llamamos con M-x helm-bibtex. Nos aparecerá entonces una lista de nuestras referencias bibliográficas en la que podremos elegir la entrada que queramos. Dándole a TAB vemos las acciones posibles, que se ejecutan todas en las teclas F1F12.

Como sugieren en su ayuda, he enlazado M-x helm-bibtex a la combinación Menú + b añadiendo esta línea al archivo de configuración:

(global-set-key (kbd "<apps> b") 'helm-bibtex)    

con la idea de configurar el resto de las historietas de Helm también en la tecla Menú y pulsar menos botoncicos.

Evidentemente, aunque sea muy listo este modo, tenemos que decirle dónde tenemos el archivo de bibliografía, los artículos en cuestión y las notas al respecto, si las estamos usando. Yo, como tengo un archivo y una carpeta con referencias para cada tema, establezco unas variables locales para el artículo que esté escribiendo

%%% Local Variables:
%%% eval:(setq bibtex-completion-bibliography '("refs.bib"))
%%% eval:(setq bibtex-completion-library-path  '("references/"))
%%% End:

pero si tuviera todas las referencias juntas, podría añadir ese par de líneas al archivo de configuración directamente con las rutas correspondientes.

ACTUALIZACIÓN (16/10/2019) Por algún motivo que desconozco (Windows), la ruta relativa dejó de funcionar de un día para otro y tuve que poner la ruta absoluta.

Una cosa que me encanta de este modo es que, por medio de RefTeX, localiza la bibliografía local si se usa helm-bibtex-with-local-bibliography en lugar de helm-bibtex. Algo bastante útil sobre todo cuando estamos manejando bibliografías de otras personas.

De esta manera, cuando estoy escribiendo un artículo y quiero citar algo o a alguien, abro mis referencias, busco entre ellas lo que necesito y abro directamente el archivo en el propio Emacs usando pdf-tools. En Windows (sorpresa) esto no me carrula, así que he añadido esto al archivo de configuración

(setq bibtex-completion-pdf-open-function
  (lambda (fpath)
    (call-process "acrobat" nil 0 nil fpath)))

para que me abra los pdfs con al Acrobat Reader. Si, por lo que sea, lo que busco no está entre mis referencias, el cacharro me busca en repositorios online. Me falta investigar cómo funcionan las notas, que hasta ahora no he tenido necesidad de ellas.

Sigue leyendo

Lo que he aprendido: cambiar el idioma de la bibliografía en LaTeX

Me he dado cuenta de una cosa: ¡siempre que he escrito en LaTeX he hecho la bibliografía en inglés! Así ocurrió que cuando tuve que escribir un artículo científico en castellano, aparte de que no era capaz de redactar correctamente, no sabía cambiar el idioma de la bibliografía. Qué lamentable.

Hasta que descubrí Flexbib ¡ja! Me diréis pero, Ondiz, loca, usa babelbib y hala. No son las cosas tan fáciles, queridos hermanos, como su nombre indica, babelbib trabaja con babel y yo compilo con XeLaTeX y, por lo tanto, uso polyglossia. Ya veis, siempre llevando la contraria.

En fin, os cuento un poco de qué va Flexbib.

Flexbib o no más hegemonía

Cuando trabajas en el academia acabas acostumbrándote a que los autores en tus referencias sean Fulanito and Menganito, las páginas web hayan sido last accessed in y que tus comillas no sean angulares como deberían ser. Tanto te acostumbras que llegas a creer que, como al cambiar el idioma al documento, ya te pone capítulo en vez de chapter está todo hecho. Pero no es así. Flexbib viene a ayudar en la tarea de automatizar el proceso de referenciar otros trabajos cuando no escribes en la lengua hegemónica de la academia. Hace otras cosas también (elegir un modelo autor-año o numérico, elegir paréntesis o corchetes, controlar qué aparece en la lista de referencias…), pero a mí me importan menos.

Flexbib consta de varios archivos que habría que situar en ciertos lugares concretos de nuestra instalación de LaTeX, pero yo paso olímpicamente de cualquier instrucción que puedan darme y simplemente echo el paquete flexbib.sty, el estilo flexbib.bst y el archivo spanishbst.tex en la carpeta principal de lo que vaya a escribir en castellano.

Luego, en mi preámbulo cargo el paquete con las siguientes opciones

\usepackage[spanish, plain, sort&compress, nocomment, noabstract]{flexbib}
  • spanish porque quiero que las partículas aparezcan en dicho idioma;
  • plain para que me cite con numeritos;
  • sort&amp;compress para que en lugar de [1,3,2] aparezca [1-3];
  • nocomment y noabstract para que no aparezcan los comentarios y el resumen del .bib en la lista de referencias.

También añado el estilo de bibliografía allí donde corresponde con

\bibliographystyle{flexbib}

Con esto mis referencias quedan cuquísimas con sus comillas angulares como mandan los cánones:

referencias

Creo que tengo que plantearme migrar a BibLaTeX. Que, claro, luego no será soportado por ninguna revista académica.

Y nada más, os dejo a vosotros la labor de saber si esto es una entrada técnica o una diatriba en contra del sistema.

Metablogging.

Referencias

Manual de Flexbib (pdf)

LaTeX/Bibliography Management en Wikibooks

Software necesario para la bibliografía con Flexbib


Os dejo con Tomasito zapateando en London. Yo quiero esos botines. Y ese arte.

Gestores bibliográficos: hay que usarlos más

Me suelen preguntar cómo caí en el LaTeX y en el Emacs y siempre digo que fue porque necesitaba herramientas que no trabajaran en mi contra. Un tema en el que las herramientas por las que una se decante son determinantes es, en mi opinión, la gestión de la bibliografía. Que es un asunto que no preocupa a mucha gente, pero yo soy una académica: mi vida es leer cosas que no entiendo que me llevan a otras cosas que no entiendo y tengo que organizarlas de alguna manera. De alguna manera en que las pueda volver a encontrar, claro. Para esto hay algo que me resulta indispensable: un gestor bibliográfico.

La idea

Un gestor bibliográfico permite almacenar y organizar nuestras referencias (libros, artículos, normas, páginas web) para luego poder citarlas con facilidad y coherencia. De esta manera, cuando estamos escribiendo nos podemos despreocupar de seguir un estilo concreto cuando referenciemos una obra ya que nuestro programa lo hace por nosotros; no tenemos que preocuparnos por haber traspapelado aquel pdf donde se explicaba el método que estamos programando porque lo tendremos enlazado en nuestra base de datos y podremos buscarlo; cuando nos rechacen el paper y queramos enviarlo a otra revista que nos piden estilo de cita Harvard no estaremos tres años cambiando las referencias porque hemos usado Chicago en el anterior, porque nuestro programa lo hará solito.

Además de que me resuelva estos problemas, verídicos todos y cada uno, le pido varias características a mi gestor:

  • Integración con mi editor de texto: que pueda referenciar documentos con facilidad desde mi editor y que me cree una bibliografía automáticamente con el estilo que le pida. Como yo generalmente escribo en LaTeX, necesito que me exporte un archivo de bibliografía bib; para trabajar con un editor como Libre Office Writer, se necesita una extensión que conecte el editor y el gestor.

  • Búsqueda en mi base de datos: que pueda buscar por título, autor, palabra clave…

  • Base de datos local y exportable: que me enlace los documentos y la información bibliográfica, se pueda acceder a ellos desde el propio gestor y no estén en la nube.

  • Anotaciones: que pueda añadir notas a las referencias.

  • Software libre: me enseñaron a usar RefWorks durante la tesis y tenía compañeros que usaban Mendeley pero, o bien hay que depender de que tu institución apoquine por el servicio, o hay que confiar en que no cambien el estándar y tu base de datos no sea accesible nunca más. El software libre es la solución.

En mi carrera investigadora (qué bien suena pero qué cúmulo de precariedad es), he usado dos gestores que cumplen todas las exigencias: Jabref y Zotero.

Jabref

Jabref es el programa que uso para gestionar mi(s) bibliografía(s) desde hace años. Me gusta porque es sencillo y trabaja directamente con un archivo de texto plano que tengo bajo control de versiones. En las últimas versiones es además capaz de descargar el texto completo si es de acceso abierto y puede extraer la información bibliográfica de un archivo.

Jabref tiene esta pinta:

jabref

Como veis is muy sencillo: a la izquierda hay barra de búsqueda en la web (si no os aparece: Search > Web Search), el resto es la base de datos con su título, autor y demás información. Si entramos en una entrada de la base de datos podemos añadir o cambiar la información, que dependerá del tipo de referencia. Si nos faltan datos, Jabref nos marcará la entrada en rojo, también nos pone advertencias cuando el formato de un campo no es correcto.

Un tema interesante es el pdf pequeñito de la columna de la izquierda, eso significa que tenemos un pdf enlazado, o bien porque Jabref lo ha encontrado en algún repositorio o porque lo hemos metido en la carpeta de los artículos y lo hemos denominado como la clave (lo que aparece en la columna de la derecha del todo). Así, podemos echar todos nuestros archivos sin ningún tipo de control en una carpeta mientras seamos coherentes a la hora de nombrarlos. Por ejemplo, para la bibliografía del artículo que estoy escribiendo ahora mismo, tengo una carpeta junto al archivo bib cuyo contenido es el siguiente:

archivos

Como veis, los nombres de los archivos coinciden con la columna de la derecha del Jabref. Así Jabref los localizará y podemos olvidarnos de dónde están los pdfs porque ahora solo con hacer click en el pdf chiquitico Jabref nos lo abrirá. Para localizar los archivos automáticamente hay que decirle a Jabref en qué carpeta están (File > Library properties > General file directory) y luego se le da al F7 o al iconito del papel con la lupita. Lo encontráis volando. También podemos enlazar los archivos a mano y varios para una misma entrada, incluso.

Tenemos la posibilidad, además, de comprobar si todos los archivos de la carpeta están enlazados en la base de datos por si nos venimos arriba descargando cosas (ay, el Diógenes electrónico) y el propio Jabref extraerá la información que pueda de cada archivo y nos generará una entrada en la base de datos (en Quality > Find unlinked files).

En fin, no cuento más sobre cómo funciona el programa porque como se entiende de verdad es usándolo. Yo aquí estoy solo para picar. Lo que sí que me gustaría es compartir mi proceso de trabajo:

  • Creo un archivo bib para el nuevo tema que estoy investigando.

  • Si quiero un artículo concreto lo busco desde la barra de búsqueda web de Jabref; si estoy haciendo una búsqueda más general, busco directamente en una base de datos. Generalmente todas las bases de datos (y las revistas) permiten descargar un bib para la referencia que nos interesa. En Scholar hay que activar la opción de que muestre los enlaces para importar la referencia a BibTeX en la configuración para ello.

  • Si la base de datos no me da la información bibliográfica como yo quiero, uso la extensión de Firefox JabFox que extrae esta información de una página y la envía a Jabref. Es interesante para cuando estás leyendo el abstract de un paper en la página de un journal1 o cuando hay una lista de referencias que queremos exportar juntas, por ejemplo, del Scholar.

  • Le digo a Jabref que me busque el pdf por ahí usando la lupa que hay en la pestaña General. Si no me lo encuentra tiro de magia negra.

  • Me “leo” el artículo y anoto en la pestaña de review lo que opino al respecto junto con alguna cita literal o palabra clave que luego me vaya a ayudar a encontrar la información cuando escriba y así no tener que leer todo otra vez.

  • Elijo el estilo de cita y de bibliografía que quiero y llamo a mi referencia bibliográfica cuando la necesito. Esto depende del editor, claro, ya conté cómo lo hago en LaTeX con BibTeX. En el Writer se hará distinto

Zotero

Zotero tiene un concepto diferente: guarda nuestras referencias en una base de datos SQL en lugar de un archivo de texto plano. El trabajo con Zotero, por lo tanto, es también diferente: no empezamos con un archivo en blanco sino con una nueva colección a la que le añadiremos elementos.

Al igual que Jabref, Zotero es capaz de buscar el texto completo en repositorios abierto y tiene una extensión para descargar los artículos con DOI directamente de Sci-Hub y que yo jamás recomendaría a nadie que utilizara, ¿qué queremos? ¿desmontar el negocio de las publicaciones científicas?

Zotero tiene una pinta similar a Jabref, con diferentes chirimbolos para designar a los artículos, libros y demás. Es impresionantemente intuitivo en mi opinión: añadir un pdf o nota a una referencia es sencillísimo (¡hurgad!) y tiene una búsqueda avanzada molona.

zotero

Mi forma de trabajar con Zotero es similar aunque varía en un par de cosas, seguramente porque llevo años usando Jabref:

  • Creo una nueva colección para el tema que estoy investigando.
  • Busco lo que quiero en alguna base de datos como Base, o Scholar si no me queda otra.
  • Envío las referencias que me interesan a Zotero con el conector de Firefox.
  • Si tengo acceso, descargo los textos completos desde el repositorio abierto. Curiosamente, la extensión de Sci-Hub descarga el pdf automáticamente cuando añadimos una referencia, pero, de nuevo, no la uséis.
  • Leo y anoto lo que tenga que leer y anotar.
  • Si voy a escribir en LaTeX, exporto un bib y trabajo de la manera habitual, si voy a usar el Writer uso la maravillosa extensión de Zotero que permite elegir el estilo de cita, citar y crear la bibliografía con un par de botoncicos.2.

Me encanta tanto la extensión del Writer que he grabado un screencast en el que se me ve el Windows, imaginad:

Se puede citar con superíndice y con cita al pie en lugar de hacer una bibliografía final, todo es configurar.

Conclusión

¿Merece la pena dedicarle una tarde a organizarse un sistema para gestionar las referencias? Pues, sinceramente, sin un gestor así yo no hubiera acabado la tesis, no tengo capacidad intelectual de gestionar los varios cientos de referencias que manejaba3.

En fin, este es en mi opinión un caso claro de que “perder el tiempo” en elegir un sistema evita perder el tiempo en el futuro. Por eso lo que he hecho ha sido explicar poco cómo se usa un gestor y más qué evita. Porque soy malvada.

Contadme qué tal, anda.

Referencias

Ayuda de Jabref

Guía de inicio rápido de Zotero

Documentación de Zotero

El repositorio de estilos de cita de Zotero


Aunque me corra el punk por las venas:


  1. Sí, hablamos así. 
  2. También hay para Word, desgraciadamente. 
  3. Bueno, igual la ansiedad, el síndrome del impostor y el bruxismo sin diagnosticar que me provocó vértigos durante años tuvieron algo que ver, pero eso lo dejamos para otro día. 

Lo que he aprendido: truquillos para la bibliografía en pandoc

Hoy os traigo un par de truquillos para cuando uséis Pandoc para escribir algún documento que incluya referencias bibliográficas. Ya os conté lo más gordo, lo de hoy es una pequeña resolución de problemas. A ello.


Incluir más de un archivo de bibliografía

Empezamos por lo fácil. Si sois como yo, os gusta tener las referencias bibliográficas agrupadas por tema y no tener un archivo gigantesco con miles de referencias juntas, así que a la hora de escribir un paper necesitáis citar referencias que están en diferentes archivos .bib. ¿Cómo solucionamos esto en Pandoc? Fácil, hacemos una lista YAML:

---
bibliography:
- bibliografia1.bib
- bibliografia2.bib
csl: estilo.csl
---

Esta misma estructura nos vale también para cuando tenemos varios autores. De hecho, con el bloque YAML podemos controlar todas las variables de la plantilla, es decir, todo lo que vaya entre simbolitos de dólar. Os hablé un poco de la plantilla aquí, si no os acordáis.

Hasta aquí el primer truco, vamos ahora con el número dos:

Resolver problemas rarunos

Vale, tenemos nuestro archivo Markdown con su bloque YAML, nuestras bibliografías, el archivo de estilo para las citas y la plantilla. Hacemos muy alegremente:

$ pandoc paper.md --filter pandoc-citeproc -N -o paper.pdf

Y Pandoc nos dice:

pandoc-citeproc.exe: "stdin" (line 4207, column 2):
unexpected "A"
expecting "c", "C", "p", "P", "s" or "S"
pandoc.exe: Error running filter pandoc-citeproc
Filter returned error status 1

¿Qué está pasando aquí? Veamos, tenemos que abrir nuestro archivo .bib con un editor de texto e ir a la línea esa. The offending line que dirían los ingleses. Mi muy amado Emacs nos lo pone fácil, con hacer M-g M-g o M-x goto-line nos pregunta a qué línea queremos ir. ¿Qué vemos en esa línea? En mi caso un & que me la está jugando, también puede ser un tema de acentos, eso ya tendréis que mirar, se siente. Lo borramos o lo sustituimos y listo, nos crea el pdf a la perfección.


Nada más por hoy chavalería, continúen con sus vidas 🙂