Pandoc (LaTeX → HTML) 不使用指定的 .cls 文件

Pandoc (LaTeX → HTML) 不使用指定的 .cls 文件

我正在尝试使用潘多克将一些数学繁重的 LaTeX 转换为 HTML。为了使 TeX 代码更易于读写,我将一些宏分解到.cls同一目录中的文件中,并将其用作 TeX 文件的文档类。当我在 TeX 文件上运行 Pandoc 时,它会忽略该.cls文件。.cls如何在编译 TeX 文件时指示 Pandoc 使用特定文件?

梅威瑟:

类文件:

% eggs.cls
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{eggs}

\LoadClass{amsart}

\newcommand{\Z}{\mathbb Z}
\newcommand{\wo}{without}

TeX 文件:

% test.tex
\documentclass{eggs}
\title{Test}
\begin{document}
It is said that \wo{} $\Z$, there would be no ring theory.
\end{document}

该命令pdflatex test.tex正常工作:\wo\Z扩展为eggs.cls。但是当我运行 时pandoc test.tex -s --mathjax -o test.html,类文件未被解析:

在此处输入图片描述

更多细节:

  • 我在 Ubuntu 18.04.2 上使用最新版本的 Pandoc 2.7.2。
  • Pandoc 有几个用于指定元数据的标志。我尝试了--metadata旗帜(完整命令pandoc --metadata=documentclass:eggs.cls test.tex -s --mathjax -o test.html),但没有任何改变。
  • 我也尝试过--variable旗帜,而且它也没有帮助(正如预期的那样,因为这个标志用于 Pandoc 的写入阶段)。

谷歌搜索后发现这个问题一个旧的 Github 问题有同样的问题,但由于可能无解而被关闭,而且没有给出太多解释。

可行的解决方案:

  • 如果我可以指定某些设置(配置文件、环境变量)来让 Pandoc 正确解析文件.cls,那就最好了。
  • 或者,是否有某种方法可以将.tex.cls文件预处理为基于标准文档类的文件?(假设该文件基于标准文件,那.tex就没问题了。)然后我可以将预处理后的文件提供给 Pandoc。.cls

不可行的解决方案:

  • tex4ht我对使用或变体代替 Pandoc 的解决方案不感兴趣:由于某种原因,它不能很好地适用于我的项目。
  • 在这个 MWE 中,我当然可以手动将新命令移到文件的前言中.tex。但是,我有很多.tex文件需要处理,手动执行此操作太耗时了。

相关内容