質問

したいと思い latexmk コマLaTeX文書のEmacs.特に-さんありがとうございます。Emacs機能 next-error, は、一般的に呼び出されるC-x`、およびジャンプのラテックスエラーの書きします。

えしたいと思い latexmk のいずれかを使用 C-x compile のAUCTeX C-c C-c.

まず、設定します latexmk の利用

$pdflatex = 'pdflatex -interaction=nonstopmode';

オプション1:C-xコンパイル

Iを押す C-x compile タイプ latexmk -pdf foo, 走る pdflatex.が next-error まなジャンプエグゼクティブ向けプログラムの場合でも*作成*バッファの内容に誤りがあり:

! Paragraph ended before \author was complete.
<to be read again> 
                   \par 
l.48 
[...]
Compilation exited abnormally with code 12 

たいのですがに自動ジャンプこのエラーに沿48?

この問題の解析をlatexでの出力な latexmk ます。同じ問題が生じた場合だけでな C-x compile pdflatex -interaction=nonstopmode foo.

オプション2:AUCTeX

設定はどのように行うのですかAUCTeXコ latexmk -pdf の代わりに pdflatex on my.texファイルとは何ですか?もちろん、欲しい next-error 仕事を同じことが言えます。

更新: を始めたので 恵み でばこができるツールを果たすべく努力しています。私の質問の回答により解決が得られない場合に指定ができ簡単に私のLaTeX文書の使用 latexmk Emacsで飛びエグゼクティブ向けプログラムを使用 next-error (もちろん、誤りがある 含まれま .texファイルにもかかわらず、マスターファイルまたはバッファの現在).

更新: メイヴァン(カレントアウェアネス-ポータル)AUCTeX+Latexmkます。一方、その利用 ゴム コラテックスにも優れます。表示されますのでエラーメッセージ形式の使用 gcc その他のコンパイラで自然の作Emacs C-x compile, など C-x compile rubber --pdf foo, のエラーメッセージをパースできないバグを修正.

役に立ちましたか?

解決

申し訳ありませんが、私はコメントする能力を持っていない、または私はコメントとしてこれを追加します。クリス・コンウェイの答えの作品は、AucTeXがエラーメッセージを処理するために知っているように、それはTeX-run-TeX代わりのTeX-run-commandを使用すべきであることを除いて。

(add-hook 'LaTeX-mode-hook (lambda ()
  (push 
    '("Latexmk" "latexmk -pdf %s" TeX-run-TeX nil t
      :help "Run Latexmk on file")
    TeX-command-list)))

また、

のようなものを追加するのが賢明かもしれません
'("%(-PDF)"
  (lambda ()
    (if (and (not TeX-Omega-mode)
             (or TeX-PDF-mode TeX-DVI-via-PDFTeX))
        "-pdf" "")))

TeX-expand-listと使用"latexmk %(-PDF) %s"に、それは両方のPDFとDVIモードで動作するように。個人的に、私はそれが簡単にカスタマイズ特にあなたが実験しているときに使用する見つけます。

他のヒント

これはAucTeXがC-c C-cとlatexmk実行するために取得することは比較的簡単です。以下は、TeXコマンドのリストにLatexmkの選択肢を追加します。

(add-hook 'LaTeX-mode-hook (lambda ()
  (push 
    '("Latexmk" "latexmk -pdf %s" TeX-run-command nil t 
      :help "Run Latexmk on file")
    TeX-command-list)))

トリックは仕事にnext-errorを得ています。あなたはAucTeX源の周りを掘る場合は、おそらくそれはTeXの出力バッファに使用する正規表現を見つけることができます。それは自動的にTeX-実行コマンドにより作成されたバッファに適用されません。 (あなたも、この正規表現を使用するようにcompileモードを説得することができるかもしれません。)

別のアプローチは、変数LaTeX-commandを再定義することです。私はAucTeX機能の多くは、彼らがこの文字列にコマンドラインオプションをタックし、その結果を実行できることを前提と思うので、これは少しあやふやです。

これはauctexになるように設定されている場合%(モード)を追加すると、非対話型のようなlatexmkいくつかのより多くのオプションを提供します。

(add-hook 'LaTeX-mode-hook (lambda ()
  (push 
    '("Latexmk" "latexmk -pdf %(mode) %s" TeX-run-TeX nil t
      :help "Run Latexmk on file")
    TeX-command-list)))
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top