首页 > 解决方案 > 使用 Pandoc 时禁用“TeX 数学”

问题描述

在 Pandoc 中阅读 Markdown 时如何禁用 TeX 内容?我有一些我正在处理的降价文件,但由于存在显然是降价语法的文本,它会在其中一些文件上出现警告。

[WARNING] Could not convert TeX math '@#', rendering as TeX:
  @#
   ^
  unexpected '#'
  expecting "\\bangle", "\\brace", "\\brack", "\\choose", "\\displaystyle", "{", letter, digit, ".", "\\mbox", "\\text", "\\textbf", "\\textit", "\\textrm", "\\textsf", "\\texttt", "\\bm", "\\boldsymbol", "\\mathbb", "\\mathbf", "\\mathbfcal", "\\mathbffrak", "\\mathbfit", "\\mathbfscr", "\\mathbfsfit", "\\mathbfsfup", "\\mathbfup", "\\mathbold", "\\mathcal", "\\mathds", "\\mathfrak", "\\mathit", "\\mathrm", "\\mathscr", "\\mathsf", "\\mathsfit", "\\mathsfup", "\\mathtt", "\\mathup", "\\pmb", "\\symbf", "\\texttt", "\\sqrt", "\\surd", "\\mspace", "\\hspace", "\\mathop", "\\mathrel", "\\mathbin", "\\mathord", "\\mathopen", "\\mathclose", "\\mathpunct", "\\phantom", "\\boxed", "\\overset", "\\stackrel", "\\underset", "\\frac", "\\tfrac", "\\dfrac", "\\binom", "\\genfrac", "\\substack", "_", "^", "\\begin", "\\ensuremath", "\\bigg", "\\Bigg", "\\big", "\\Big", "\\biggr", "\\Biggr", "\\bigr", "\\Bigr", "\\biggl", "\\Biggl", "\\bigl", "\\", "\\left", "\\not", "!", "'", "''", "'''", "''''", "*", "+", ",", "-", ".", "/", ":", ":=", ";", "<", "=", ">", "?", "@", "~", "\\operatorname" or end of input

由于我没有在这些文本中使用任何类型的数学或花哨的排版,我宁愿禁用这种解释,而不是试图找出正确的方法来逃避实际上触发它的序列。

但是,如果这是不可能的,我很想知道逃脱 @ 的正确方法是“正确”的方法。大概 '@'?还是有更多我不知道的 TeX 式语法?

标签: markdownpandoctex

解决方案


您可以禁用-EXTENSIONNAME附加到输入格式的任何扩展名。因此,在您的情况下,您可能想要禁用tex_math_dollars,因此格式为-f markdown-tex_math_dollars,其内容为“使用格式降价减去/不使用 tex_math_dollars 扩展名”。完整的命令可能如下所示:

pandoc -f markdown-tex_math_dollars -o output.html input.md

另一种选择是使用默认情况下(或根本不包括)不支持 TeX的Markdown 变体之一。例如,要使用 GitHub Flavored Markdown (gfm):

pandoc -f gfm -o output.html input.md

推荐阅读