
En varias ocasiones he leído instrucciones como "ejecute Latex en su archivo, luego ejecute Bibtex y luego ejecute Latex nuevamente...". Estoy usando TeXstudio como editor y cuando compilo cualquier código tex simplemente presiono el botón de compilación. Lo que sucede detrás de esto no me importaba ya que el pdf que quería se creó de todos modos. Ahora que estoy usando .bib
archivos como referencia, tengo un problema en el que la solución era la misma que la anterior. ¿Pero cómo lo hago? Sólo conozco el botón de compilación. ¿Cómo puedo ejecutar Latex individualmente desde Bibtex y Bibtex individualmente desde Latex? ¿Y cuál de ambos se ejecuta al simplemente presionar "compilar"?
Respuesta1
El botón 'compilar' ejecuta una secuencia de compilación predeterminada. Parece que probablemente se trate de pdfLaTeX en su caso. (Probablemente puedas cambiar esto si lo deseas; muchos editores te permiten personalizar el valor predeterminado).
Para generar su bibliografía, debe mirar lo que hay en su documento. ¿Cómo estás gestionando las referencias? Si utiliza comandos como
\bibliographystyle{stylename}
\bibliography{bibfilename}
Entonces necesitas correr
pdflatex
->bibtex
->pdflatex
->pdflatex
Si tienes algo como esto:
\usepackage{biblatex}
\addbibresource{bibfilename.bib}% or \bibliography{bibfilename}
...
\printbibliography
Entonces necesitas correr
pdflatex
->biber
->pdflatex
->pdflatex
Es posible usarlo bibtex
con biblatex
pero no es el predeterminado. A menos que tengas
\usepackage[backend=bibtex]{biblatex}
No necesitas preocuparte por esto. Si utiliza esta opción, deberá utilizar la bibtex
secuencia de compilación anterior en lugar de la biber
anterior.
Para ejecutar las compilaciones, puede utilizar la línea de comandos o su editor. La mayoría de los editores tienen botones o menús con opciones para la compilación no predeterminada. Aunque pdfLaTeX es el valor predeterminado, probablemente haya un botón u opción de menú para bibTeX (y quizás biber). Probablemente puedas personalizar aún más las cosas para adaptarlas a tu flujo de trabajo.
Respuesta2
Aquí hay un truco que me gusta usar:
Cree un script de Python en el directorio raíz de su proyecto, llamado por ejemplo,
compile_refs.py
y pegue el siguiente código en él:#!/usr/bin/python import subprocess, sys commands = [ ['pdflatex', sys.argv[1] + '.tex'], ['bibtex', sys.argv[1] + '.aux'], ['pdflatex', sys.argv[1] + '.tex'], ['pdflatex', sys.argv[1] + '.tex'] ] for c in commands: subprocess.call(c)
Cuando quieras compilar referencias, simplemente ejecuta:
python compile_refs.py main_file_name
.
Respuesta3
A continuación se muestra una herramienta útil Makefile
que puede utilizar para automatizar el proceso de compilación descrito en elrespuesta por cfr:
DOCNAME=report
all: report
.PHONY: clean
report:
pdflatex $(DOCNAME).tex
bibtex $(DOCNAME).aux
pdflatex $(DOCNAME).tex
pdflatex $(DOCNAME).tex
view: report
open $(DOCNAME).pdf
clean:
rm *.blg *.bbl *.aux *.log
Simplemente pegue esto en un archivo llamado Makefile
en el mismo directorio que su archivo .tex principal y reemplácelo report
en la definición de variable DOCNAME=report
con el nombre de su archivo.
Entonces puedes usar esto de la siguiente manera:
make
omake report
creará el documento PDF a partir de las fuentes TeX.make view
creará el PDF si aún no lo ha creado y lo abrirá con el visor de PDF predeterminado de su sistema.make clean
Limpiará los archivos intermedios creados durante la creación del PDF.
Si necesita usar biber
en lugar de bibtex
, puede simplemente reemplazar la llamada a bibtex
con una llamada a biber
.
Respuesta4
SI ESTÁS UTILIZANDO TEXSTUDIO. Vaya a: configuración --> compilaciones y ejecute esperando la ejecución de cada paso:
1 pdflátex. --> 2 bibtex. --> 3 pdflátex. --> 4 pdflátex.