
Em diversas ocasiões li instruções como "execute o Latex no seu arquivo, depois execute o Bibtex e depois execute o Latex novamente...". Estou usando o TeXstudio como editor e ao compilar qualquer código tex simplesmente pressiono o botão de compilação. O que acontece por trás disso não importava para mim, pois o PDF que eu queria foi criado de qualquer maneira. Agora que estou usando .bib
arquivos para referência, estou tendo um problema onde a solução para isso foi a mesma acima. Mas como faço isso? Eu só conheço o botão de compilação. Como posso executar o Latex individualmente do Bibtex e o Bibtex individualmente do Latex? E qual dos dois está em execução quando simplesmente pressiona "compilar"?
Responder1
O botão 'compilar' está executando uma sequência de compilação padrão. Parece que provavelmente é pdfLaTeX no seu caso. (Você provavelmente pode alterar isso se quiser - muitos editores permitem personalizar o padrão.)
Para gerar sua bibliografia, você precisa ver o que está em seu documento. Como você está gerenciando referências? Se você usar comandos como
\bibliographystyle{stylename}
\bibliography{bibfilename}
Então você precisa correr
pdflatex
->bibtex
->pdflatex
->pdflatex
Se você tiver algo assim:
\usepackage{biblatex}
\addbibresource{bibfilename.bib}% or \bibliography{bibfilename}
...
\printbibliography
Então você precisa correr
pdflatex
->biber
->pdflatex
->pdflatex
É possível usar bibtex
with biblatex
mas não é o padrão. A menos que você tenha
\usepackage[backend=bibtex]{biblatex}
você não precisa se preocupar com isso. Se você usar esta opção, você usará a bibtex
sequência de compilação acima em vez biber
daquela.
Para executar as compilações, você pode usar a linha de comando ou seu editor. A maioria dos editores possui botões ou menus com opções para compilação não padrão. Mesmo que o pdfLaTeX seja o padrão, provavelmente existe um botão ou opção de menu para o bibTeX (e talvez para o biber). Provavelmente, você pode personalizar ainda mais as coisas para se adequar ao seu fluxo de trabalho.
Responder2
Aqui está um truque que gosto de usar:
Crie um script python no diretório raiz do seu projeto, chamado eg
compile_refs.py
e cole o seguinte código nele:#!/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)
Quando você quiser compilar referências basta executar:
python compile_refs.py main_file_name
.
Responder3
Aqui está uma ferramenta útil Makefile
que você pode usar para automatizar o processo de compilação descrito noresposta 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
Basta colar isso em um arquivo chamado Makefile
no mesmo diretório do arquivo .tex principal e substituir report
na definição da variável DOCNAME=report
pelo nome do seu arquivo.
Então você pode usar isso da seguinte maneira:
make
oumake report
criará o documento PDF a partir das fontes do TeX.make view
criará o PDF, se ainda não tiver sido criado, e o abrirá com o visualizador de PDF padrão do sistema.make clean
irá limpar os arquivos intermediários criados durante a criação do PDF.
Se você precisar usar biber
em vez de bibtex
, basta substituir a chamada bibtex
por uma chamada para biber
.
Responder4
SE VOCÊ ESTIVER USANDO O TEXSTUDIO. Vá para: configurações -> compilações e execute aguardando a execução de cada etapa:
1 pdflatex. --> 2 bibtex . --> 3 pdflatex . --> 4 pdflatex .