Bibtex, compilação de látex

Bibtex, compilação de látex

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 .bibarquivos 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 bibtexwith biblatexmas 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 bibtexsequência de compilação acima em vez biberdaquela.

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:

  1. Crie um script python no diretório raiz do seu projeto, chamado eg compile_refs.pye 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)
    
  2. Quando você quiser compilar referências basta executar: python compile_refs.py main_file_name.

Responder3

Aqui está uma ferramenta útil Makefileque 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 Makefileno mesmo diretório do arquivo .tex principal e substituir reportna definição da variável DOCNAME=reportpelo nome do seu arquivo.

Então você pode usar isso da seguinte maneira:

  1. makeou make reportcriará o documento PDF a partir das fontes do TeX.
  2. make viewcriará o PDF, se ainda não tiver sido criado, e o abrirá com o visualizador de PDF padrão do sistema.
  3. make cleanirá limpar os arquivos intermediários criados durante a criação do PDF.

Se você precisar usar biberem vez de bibtex, basta substituir a chamada bibtexpor 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 .

informação relacionada