エラーが発生したときに LaTeX コンパイルを手動で中止させないでください

StackOverflow https://stackoverflow.com/questions/738755

質問

提案どおり ここ, latexmk は、ソースが変更されるたびにドキュメントを継続的にコンパイルする便利な方法です。しかし、ドキュメントの作成中にエラーが発生してしまうことがよくあります。 latex パニックになり、続行する前にユーザーの入力を待ちます。特に最近コンパイルするために何かをハックしたとき、これは非常に面倒になることがあります。 latex から直接 イーサパッド 文書を入力すると継続的に保存されます。

の設定はありますか latex または latexmk コンパイルできない場合にエラーメッセージを表示して中止するようにするには?あるいは、必要に応じて、LaTeX の苦情を自動的に無視するためにある種の Expect スクリプトを設定するにはどうすればよいでしょうか?

(私は思っていた pdflatexのオプション -halt-on-error それはうまくいきますが、どうやらそうではありません。)

おまけの質問:Mac OSX の Skim は、PDF が変更されると (プレビューとは異なり) 自動的に更新される優れた PDF ビューアです。 を除外する latex エラーが発生するたびに、自動更新が必要かどうかを再確認する必要があります。Texniscope にはこの問題はありませんが、次の理由で Texniscope を放棄する必要がありました。 その他の理由. 。Skim を常に自動更新する方法はありますか、それともこれを正しく行う別のビューアはありますか?


追加した:ミニチュートリアル latexmk この質問に対する答えに基づいて、

  1. 得る latexmk ここ: http://www.phys.psu.edu/~collins/software/latexmk-jcc/

  2. 以下を追加してください ~/.latexmkrc ファイル:

    $pdflatex = 'pdflatex -interaction=nonstopmode';
    

    (OS X と Skim の場合)

    $pdf_previewer = "open -a /Applications/Skim.app";
    
  3. ソースファイルを編集しているときに、 foo.tex, 、ターミナルで次を実行します。

    latexmk -pvc -pdf foo.tex
    
  4. 使用 スキム または、foo.pdf を表示する別のリアルタイム PDF ビューア。Skim の場合は、Skim の環境設定の「同期」タブを見て、エディター用に設定してください。

出来上がり!保存を押す foo.tex これから引き起こします foo.pdf 何も触れずにリフレッシュすること。

役に立ちましたか?

解決

MikTeXを使用すると、 pdflatex 次のコマンドライン オプションがあります。

  -interaction=MODE               Set the interaction mode; MODE must be one
                                  of: batchmode, nonstopmode, scrollmode,
                                  errorstopmode.

@9999year によって提案された編集:

これらの値は LaTeX のセットに相当します。 \commands 同じ機能を提供するもの。

から TeX の使い方のヒント:

これらのモードにより、TeX は次のように動作します。

  • errorstopmode ソースコードのエラーであろうと存在しないファイルであろうと、すべてのエラーで停止します。

  • scrollmode はソースのエラーでは停止せず、次のような場合に入力を要求する。 ファイルが見つからないなど、より深刻なエラーが発生する。

  • やや間違った名前で nonstopmode, の後に入力を要求しない。 重大なエラーが発生したが、完全に停止した。

  • batchmode に使用することを意図している)以外のすべての出力を防止する。 自動スクリプト)。すべての場合において、すべてのエラーはログファイルに書き込まれる。 (yourtexfile.log)。

scroll top