Составьте файл xelatex tex с latexmk
Вопрос
Как можно компилировать 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
И я пробовал других (например, программа = кселатекс), но безрезультатно.
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"
...
Не отображается Bo какого-либо логического механизма для выбора программы 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 (18 июня 2019 г.), существует разница между использованием -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
комментарий.