用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:-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
第二个选项是设置 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
评论。