質問

どのようにコンパイルできますか 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のコメント。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top