電話のかけ方latexmk emacsであり、次のエラー
-
25-09-2019 - |
質問
したいと思い 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)))