通过命令行参数指定 make4ht 的宏定义

通过命令行参数指定 make4ht 的宏定义

我想知道是否有办法在编译时将一些宏定义传递给 LaTeX 引擎。让我先举例make4ht解释一下我所说的内容。pdflatex

我有一个名为的文件foo.tex

\documentclass{article}
\begin{document}
hello, \who{}
\end{document}

现在我可以在命令行参数中调用pdflatex并指定 的定义。这允许我使用相同的源文件并使用不同的 值构建不同的输出 PDF 。示例:\whofoo.tex\who

pdflatex "\def\who{world}\input{foo}"
pdflatex "\def\who{bob}\input{foo}"

现在,我可以用同一个文件foo.tex做类似的事情make4ht吗?我想我要找的是这样的:

make4ht foo "<somehow specify \def\who{world}>"

这可能吗?如果不可能,“否”将是一个很好的答案,然后我可能会通过使用 shell 命令来解决这个问题,比如在每次构建之前用我需要的内容sed替换。\who

答案1

您可以将 LaTeX 的其他定义作为第五个参数传递给make4ht。请注意,它需要正确转义。这适用于 Bash 中的示例:

make4ht -m draft sample.tex "" "" "" '\\def\\who{world}'

结果如下:

在此处输入图片描述

相关内容