#miktex #xetex #fontspec #tex4ht
Вопрос:
Мне нужно скомпилировать мой файл .Rnw (Sweave) в HTML, используя Cambria в качестве шрифта по умолчанию и кодировку UTF-8, чтобы, например, греческие буквы были правильно представлены в виде символов во встроенном тексте (очевидно, режим уравнения подходит, так как они встроены в файлы изображений).
Вот мое «Привет, мир!» текстовый документ:
documentclass{article}
usepackage{fontspec}
setmainfont{Cambria}
usepackage{Sweave}
begin{document}
Lorem ipsum dolor, sit amet.
end{document}
Затем я запускаю команду make4ht -xu foo.tex
, и преобразование документа завершается неудачно.
Соответствующие фрагменты журнала, по-видимому,:
This is XeTeX, Version 3.14159265-2.6-0.999992 (MikTeX 2.9.7300 64-bit)
<snip, no errors or warnings...>
(<path components>tex/generictex4htfontspec-xetex.4ht
version 2017-01-24-15:21
! Undefined control sequence.
<argument> fontspec_ht_scripts
l.23 ...{typeout{use block #1}xeunisuseblock{#1}}
The control sequence at the end of the top line
of your error message was never def'ed. If you have
misspelled it (e.g., `hobx'), type `I' and the correct
spelling (e.g., `Ihbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
Компиляция завершается ошибкой с кодом выхода 1.
Компиляция без fontspec и использование pdflatex вместо xetex отлично работает. Я не пробовал компилироваться с xetex и без fontspec.
2017 год был совсем недавно… возможно ли, что нам просто нужно обновить наши пакеты? Я знаю, что поддержка fontspec была добавлена в tex4ht только в течение последних нескольких лет или около того.
Я нахожусь в очень ограниченной среде, поэтому обновление будет трудным, хотя, возможно, и невозможным.
Комментарии:
1. Да, лучше всего обновить свои пакеты, версии с 2017 года довольно старые. Если вы не можете обновить пакеты, попробуйте
-l
использовать опцию вместо-x
, она не должна приводить к этой конкретной ошибке. Вы также можете обновить свой файл TeX , чтобы он не использовалсяfontspec
tex4ht
, напримерifdefinedHCodeelseusepackage{fontspec}fi
.