make4ht --utf8 --lua document.tex
我帮助维护一个以 HTML 输出等方式构建的文档。
为了排版命令行摘录,文档有时使用\textquotedbl
(即:纯ASCII 双引号在输出中是必需的,因为它很可能会被复制到终端)。是的,我知道verbatim
,fancyvrb
和朋友,但这不是问题的主题。
我的问题是,在当前不稳定的 Debian(texlive-extra-utils
版本 2020.20210202-3)上,\textquotedbl
使用以下方式构建时会出现以下错误make4ht --utf8 --lua
:LaTeX Error: Command \textquotedbl unavailable in encoding OT1.
梅威瑟:
\documentclass{article}
\usepackage{fontspec}
\begin{document}
ASCII double quote: \textquotedbl.
\end{document}
make4ht
是我做错了什么吗,还是这是一个 bug TeX4ht
?谢谢。
make4ht
PS:我目前的解决方法是将以下内容放入传递给选项的.cfg 文件中--config
:
\Preamble{xhtml}
\ExplSyntaxOn
\RenewDocumentCommand { \textquotedbl } { }
{ \HCode { " } }
\ExplSyntaxOff
(...)
PPS:我知道cmr10
没有直双引号,这可能是错误消息的部分解释。不过,我相信\textquotedbl
在 HTML 输出中应该产生直双引号。:-)
答案1
您说得对,这个命令似乎不受支持。这是因为它的定义tuenc.def
使用了一些特殊处理,而 TeX4ht 无法识别它。似乎除了 之外,此处定义的所有其他命令都可以使用\textquotedbl
。
您的解决方法有效,我会将受其启发的内容添加到 TeX4ht 源中,因此它应该很快就会在 TL 中得到修复。
编辑:
最好使用更新的latex.4ht文件。它使用T1
字体编码,而不是OT1
LuaLaTeX 和 XeLaTeX 中的。它应该支持更多字符,例如|
。