Bibtex、Latex コンパイル

Bibtex、Latex コンパイル

何度か、「ファイルに対して Latex を実行し、次に Bibtex を実行し、その後再び Latex を実行する」などの指示を目にしました。私は TeXstudio をエディターとして使用しており、Tex コードをコンパイルするときには、コンパイル ボタンを押すだけです。この背後で何が起きるかは、必要な PDF がとにかく作成されたので、私には関係ありませんでした。現在、.bib参照用にファイルを使用しているため、この問題の解決方法は上記と同じであるという問題が発生しています。しかし、どうすればいいのでしょうか。コンパイル ボタンしか知りません。Bibtex から Latex を個別に実行し、Latex から Bibtex を個別に実行するにはどうすればいいのでしょうか。また、単に「コンパイル」を押すと、どちらが実行されているのでしょうか。

答え1

「コンパイル」ボタンはデフォルトのコンパイル シーケンスを実行しています。あなたの場合はおそらく pdfLaTeX のようです。(必要に応じてこれを変更することもできます。多くのエディターではデフォルトをカスタマイズできます。)

参考文献を生成するには、文書の内容を確認する必要があります。参考文献をどのように管理していますか? 次のようなコマンドを使用している場合

\bibliographystyle{stylename}
\bibliography{bibfilename}

それから走る必要がある

  • pdflatex-> bibtex-> pdflatex->pdflatex

次のようなものがあったら:

\usepackage{biblatex}
\addbibresource{bibfilename.bib}% or \bibliography{bibfilename}
...
\printbibliography

それから走る必要がある

  • pdflatex-> biber-> pdflatex->pdflatex

bibtexで使うことは可能ですbiblatexが、デフォルトではありません。

\usepackage[backend=bibtex]{biblatex}

bibtexこれについては心配する必要はありません。このオプションを使用する場合は、次のコンパイル シーケンスではなく、上記のコンパイル シーケンスを使用しますbiber

コンパイルを実行するには、コマンドラインまたはエディターを使用できます。ほとんどのエディターには、デフォルト以外のコンパイルのオプションを含むボタンまたはメニューがあります。pdfLaTeX がデフォルトですが、bibTeX (およびおそらく biber) 用のボタンまたはメニュー オプションがある可能性があります。ワークフローに合わせてさらにカスタマイズできる可能性があります。

答え2

私がよく使うトリックは次のとおりです:

  1. プロジェクトのルート ディレクトリに eg という Python スクリプトを作成しcompile_refs.py、次のコードを貼り付けます。

    #!/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. 参照をコンパイルしたい場合は、次のコマンドを実行するだけですpython compile_refs.py main_file_name

答え3

Makefileここで、コンパイルプロセスを自動化するために使用できる便利なツールを紹介します。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

Makefileこれをメインの .tex ファイルと同じディレクトリにあるという名前のファイルに貼り付け、report変数定義をDOCNAME=reportファイル名に置き換えます。

これを次のように使用できます。

  1. makeまたは、make reportTeX ソースから PDF ドキュメントを作成します。
  2. make viewまだ作成されていない場合は PDF を作成し、システムのデフォルトの PDF ビューアで開きます。
  3. make cleanPDF 作成中に作成された中間ファイルをクリーンアップします。

biberの代わりにを使用する必要がある場合は、 への呼び出しをへの呼び出しにbibtex置き換えるだけです。bibtexbiber

答え4

TEXSTUDIO を使用している場合は、「設定」->「コンパイル」に移動し、各ステップの実行を待って実行します。

1 pdflatex. --> 2 bibtex. --> 3 pdflatex. --> 4 pdflatex.

関連情報