El uso de RefTeX en Emacs con orgmode
(actualizado 2015/08/01)
Hace unos meses me preguntaba cómo citar una URL con BibTex, una pregunta que me intenté responder y que no considero cerrada, ya que lo que me gustaría es contar con una solución estándar, consensuada o al menos ampliamente utilizada.
En esta ocasión, una vez que contamos con la bibliografía en BibTeX y estamos trabajando con Emacs en orgmode, como es mi caso, podemos utilizar RefTeX para gestionar la bibliografía. Me baso e el blog de Marios Braindump y en la experiencia propia. Hemos de realizar tres pasos:
- Configurar Emacs
- Enlazar la bibliografía
- Realizar las referencias bibliográficas.
Configurar Emacs
Hemos de configurar nuestro Emacs para que desde orgmode invoquemos a RefTex y definimos una bibliografía. Para ello, añadimos a nuestro archivo de configuración, por ejemplo, a ~/.emacs
(defun org-mode-reftex-setup () (load-library "reftex") (and (buffer-file-name) (file-exists-p (buffer-file-name)) (reftex-parse-all)) (define-key org-mode-map (kbd "C-c )") 'reftex-citation) ) (add-hook 'org-mode-hook 'org-mode-reftex-setup) ; Definimos nuestra bibliografía (setq org-latex-to-pdf-process (list "latexmk -pdf -bibtex %f")) (setq reftex-default-bibliography (quote ("~/ruta/bibliografia.bib")))
Enlazar la bibliografía
Luego, enlazamos la bibliografía en el documento org, poniendo al final del mismo, pero antes de \end{document}
las siguientes líneas:
\bibliographystyle{plain} \bibliography{bibliografia}
Donde plain
es el estilo deseado para la bibliografía (hay siete estilos estándar, multitud de estilos específicos e incluso puedes crear uno a tu medida) y bibliografia
es la ruta al archivo con la bibliografía en BibTeX; en este caso, el archivo bibliografia.bib
, se encuentra en el mismo directorio que el archivo org
. También podemos incluir bibliografía en el propio documento org
con el entorno de LaTeX \thebibliography
.
Referencias bibliográficas
Para insertar las citas bibliográficas escribiremos en Emacs, tal como hemos configurado en .emacs
, C-c )
o bien invocando reftex-citation
.
Figure 1: Invocando RefTeX nos sugiere si queremos buscar con respecto a las palabras que hemos seleccionado en el documento, en este caso Berners. Si no es esa la palabra, podemos escribir otra. Luego pulsamos Enter
</p>
RefTex nos sugerirá una palabra de nuestra selección para realizar la búsqueda sobre la bibliografía. Si no nos gusta esa sugerencia, podemos introducir una expresión regular -el apellido del autor del libro o una palabra del título, por ejemplo… en definitiva, algo que recordemos de esa referencia- con la que buscará en nuestra bibliografía, bien en el archivo bib
externo, bien en las referencias embebidas o en la bibliografía externa.
Se mostrará un buffer con la lista de resultados y podremos seleccionar el que estemos buscando.
Figure 2: Buscamos sobre la/s bibliografías que hayamos enlazado la expresión regular Invocando RefTeX nos sugiere si queremos buscar con respecto a las palabras que hemos seleccionado en el documento, en este caso Berners. Si no es esa la palabra, podemos escribir otra. Luego pulsamos Enter
</p>En el texto nos aparace la cita:
(...) fue inaugurada por Tim Berners-Lee \cite{berners-lee2000tejiendo} en el laboratorio (...)
Figure 3: La cita se ha insertado correctamente en el documento
</p>