htlatex 自定义 documentclass 失败:错误 LaTeX 错误:未找到文件“email”

htlatex 自定义 documentclass 失败:错误 LaTeX 错误:未找到文件“email”

我创建了一个自定义课程,用于个人课程。可以在以下网址找到:

https://github.com/igormorgado/elegantcv

它可以很好地与 pdlatex、XeTeX 和 LuaLaTeX 一起编译,但尝试使用htlatex它进行构建会失败并出现错误:

Error LaTeX Error: File 'email' not found

我对调试或构建引发相同错误的 MWE 了解不够多(已经尝试过)。删除对我的自定义类的所有引用,可以删除错误,但这不是问题本身的真正 MWE。

我要问的是:

  1. 如何正确调试以便能够理解错误并能够正确指出问题(也许可以自己修复);

  2. 如何构建一个完美、编写良好的自定义文档类,使我能够使用 htlatex 运行并且不会引发警告或错误。

  3. 如何解决这个问题并能够构建我的乳胶类的 html 版本。

重现该问题(假设为 Unix)

git clone https://github.com/igormorgado/elegantcv
cd elegantcv
make html

附言:我知道创建外部引用不是处理 SO 问题的最佳方法,但最好将整个类粘贴在这里?如果是这样的话。我可以做到。

答案1

您的 repo 中的示例文件还有另一个错误,这是由表引起的。问题是,您用作基类的 Memoir\cmidrule直接定义了 Booktabs 包中的其他命令,而不是需要该包。因此,tex4ht无法加载这些命令的修补版本,并且会发生编译错误。我已经在源代码中修复了这个问题tex4ht,所以将来不会再发生这种情况。问题是 TeX Live 目前已冻结,因此修复将仅包含在 TL 2019 中。

同时您可以使用以下配置文件elegantcv.4ht

\input booktabs.4ht
\Hinput{elegantcv}
\endinput

\input booktabs.4htTL2019 发布后需要删除该行,因为它会与中的代码冲突memoir.4ht

可以将其他内容放入elegantcv.4ht文件中,例如从类中重新定义宏以插入 HTML 代码。您可以将标签直接放在此处,或者最好放在配置文件中。请参阅我的详细教程。我肯定会添加一些 CSS 样式。

开箱后的效果如下:

在此处输入图片描述

相关内容