使用 LaTeX 在编辑器中撰写文本要容易得多,但客户经常要求提供 Word 文件。
tex4ht 做得很好,它从 tex 文件生成 html,使用起来很方便。但有些软件包会导致错误,例如 Linux Libertine 的 § 符号。是否有命令让 pdflatex 查看它是否由 htlatex 运行?
我想写一些类似的东西
\ifhtlatex
\usepackage{lmodern}
\else
\usepackage{libertine}
\fi
还有更多东西无法与 htlatex 配合使用,例如命名和计数展览并在文档末尾生成展览列表的机制。所以类似的东西\ifhtlatex
会很有帮助。
==========
我不想加载 tex4ht 包本身,所以我不知道如何问题可能会有帮助……
答案1
htlatex
通过文档类末尾调用的tex4ht
钩子加载包。因此,您可以测试此包\@documentclasshook
后 \documentclass
:
\documentclass[...]{...}
\makeatletter
\newif\ifhtlatex
\@ifpackageloaded{tex4ht}{\htlatextrue}{\htlatexfalse}
\makeatother
前 \documentclass
\HCode
可以检查由 定义的宏htlatex
,例如:
\newif\ifhtlatex
\ifx\HCode\UnDeFiNeD
\htlatexfalse
\else
\htlatextrue
\fi
\documentclass{...}