
Utilizo Mendeley para organizar citas. Exporta un .bib
archivo automáticamente a una carpeta en mi Mac.
También tengo otro .bib
archivo que uso para otras citas que no están almacenadas en Mendeley (principalmente sitios web). Este archivo está almacenado en una carpeta que contiene todos mis proyectos de LaTeX en carpetas separadas.
La razón por la que los .bib
archivos se almacenan separados del proyecto LaTeX es que varios proyectos usan las mismas citas y de esta manera solo tengo que mantener un .bib
archivo (el otro lo mantiene Mendeley).
Inspirado porla pregunta sobre VCSAgregué mi proyecto LaTeX actual a bitbucket.org usando git. Es un directorio que contiene mis .tex
archivos e imágenes,noel .bib
archivo.
En mi main.tex
incluyo las dos bibliografías de la siguiente manera:
\bibliography{~/Documents/Dropbox/Mendeley/library,../other_refs}
Mi objetivo ahora es hacer que el repositorio sea autónomo, de modo que alguien pueda simplemente clonarlo y compilar el documento LaTeX.
Como mis .bib
archivos no están en el repositorio, ¿cómo puedo lograrlo?
Los enlaces simbólicos no son una opciónya que git ya no sigue enlaces simbólicos.
Respuesta1
Terminé cambiando de natbib
a biblatex
+ biber
. Este último admite el \addbibresources[location=remote]
comando que puede utilizar un enlace a un .bib
archivo como entrada.
\bibliography{~/Documents/Dropbox/Mendeley/library,../other_refs}
convertirse:
\IfFileExists{../thesis_refs.bib}
{
\addbibresource{~/Documents/Dropbox/Mendeley/library.bib}
\addbibresource{../thesis_refs.bib}
}
{
\addbibresource[location=remote,type=file]{https://dl.dropboxusercontent.com/s/library.bib}
\addbibresource[location=remote,type=file]{https://dl.dropboxusercontent.com/s/thesis_refs.bib}
}
\printbibliography
Ahora se comprueba si los .bib
archivos locales están presentes. Si es así, simplemente los usa, si no, descarga los .bib
archivos de Dropbox donde los puse a disposición del público (los enlaces que se muestran aquí no son los enlaces reales).
Respuesta2
Resolví el problema copiando el babero en la carpeta local usando un archivo make (llamado por latexmk). De esa manera también tendrás la versión correcta en tu repositorio. Uno de los principales problemas que tuve con Mendely fue que el orden de las entradas cambia cada vez que se escribe el archivo. Así que extendí el Makefile para ejecutarlo bibtool
. Mi Makefile es un poco más complejo, pero para ti se reduciría a:
PROJECT.bib:~/Documents/Dropbox/Mendeley/library
cat $< | bibtool -o $@ -r ./bib.rsc
Y el bib.rsc parece
resource {sort_fld.rsc}
sort = on
preserve.keys = on
preserve.key.case = on