latexmkを使用してXelatex Texファイルをコンパイルします
質問
どのようにコンパイルできますか XeLaTeX
Texドキュメントを使用しています latexmk
Mac OS Xで?
現在、私は走っています latexmk job.tex
エラーが発生します:
!
********************************************
* XeTeX is required to compile this document.
* Sorry!
********************************************.
\RequireXeTeX ...********************************}
\endgroup \fi
l.18 \RequireXeTeX
? ^D
! Emergency stop.
\RequireXeTeX ...********************************}
\endgroup \fi
l.18 \RequireXeTeX
私のtexファイルの最初の行は(によって示唆されているように この郵便受け):
% !TEX TS-program = xelatexmk
そして、私は他の人を試しました(例:プログラム= Xelatex)が、役に立たない。
latexmk
次のようにコマンドを説明します。
$ latexmk -commands xelatex job
Commands used by latexmk:
To run latex, I use "latex %O %S"
To run pdflatex, I use "pdflatex %O %S"
...
コマンドラインからTEXプログラムを選択するための論理的メカニズムはないように見えますが、ソースからこれをどのように行うかは明らかではありません。
私も見ましたrubber
, 、しかし、それも機能しないようです。
あなたが提供できるかもしれない洞察に感謝します。
ブライアン
解決
それは私の クイックフィックス, 、 となることによって latexmk
Xelatexで動作します:
追加
`elsif (/^-xelatex$/) { $pdf_mode = 1; $pdflatex = 'xelatex %O %S'; $pdf_previewer =
'start evince %O %S';}`
上(または近く)ライン
`elsif (/^-pdf$/) { $pdf_mode = 1; }`
.
その後、電話することができます latexmk -xelatex file.tex
. 。動作しますが、私はそれを広範囲にテストしませんでした。同様に動作するはずです lualatex
.
他のヒント
latexmk -v
Latexmk, John Collins, 16 January 2010. Version 4.13a
置いた
$pdflatex = 'xelatex --shell-escape %O %S';
私の.latexmkrcファイルで。もちろん、これは回避策です。しかし、私が電話するとき、それは私のために働きます
latexmk -pvc -pdf MyXetexFile
$ latexmk -v
Latexmk, John Collins, 27 July 2010. Version 4.18
コマンドで実行します:
latexmk -pdf -e '$pdflatex=q/xelatex %O %S/' foo.tex
これは基本的に、Andre-RとKayからの答えと同じですが、コマンドラインからのみです。
latexmk --xelatex job.tex
これで、議論はこの単純な形で可能です。
バージョン:4.65(2019年6月18日)には、 -xelatex
オプションと設定 -pdflatex
コメントの1つによって示唆されているように。
オプション1:-Xelatex
$ latexmk -xelatex file.tex
とともに -xelatex
オプション、または -pdfxe
オプション、texファイルは最初に型に留まります xdv
(拡張DVI) ファイル。それで、 xdvipdfmx
変換するために呼び出されます xdv
aにファイル pdf
ファイル。
の latexmk
, $xelatex_default_switches
に設定されています -no-pdf
(395行目)があります xelatex
生産します xdv
デフォルトのPDFファイルの代わりにファイル。
従って -xelatex
オプションは次のものと同等です。
$ xelatex -no-pdf file.tex # called one or more times to produce file.xdv
$ xdvipdfmx file.xdv # called only once in the end
オプション2:-pdflatex = xelatex
2番目のオプションは、設定することです pdflatex
次のように、オンになります -pdf
オプション:
# %O is a substitution for options and %S is for source file
$ latexmk -pdflatex='xelatex %O %S' -pdf file.tex
このアプローチでは、 xelatex
中間出力ファイルを生成せずに、PDFファイルを直接生成するために使用されます。今日、 xelatex
最初に生成します xdv
ストリーミングして内部でパイプします xdvipdfmx
PDFファイルを作成します。
したがって、このアプローチは次のとおりです。
$ xelatex file.tex # called one or more times to produce file.pdf
2019.08.31から更新 user36296
のコメント。