Pandoc LaTeX 到 HTML 和定理环境

Pandoc LaTeX 到 HTML 和定理环境

我正在使用 Pandoc 将 LaTeX 文件转换为 HTML 文件。由于这些 LaTeX 文件是数学文档,因此它们包含使用 的定理类环境amsthm。在输出 HTML 文件中缺少这些环境。

更准确地说,环境的内容存在,但是缺少单词“定理”和定理编号。

有没有办法自动转换这些环境?

编辑:以下是 MWE:

\documentclass{scrartcl}
\usepackage{amsthm}

\newtheorem{theorem}{Theorem}

\begin{document}
  \begin{theorem}
    There is no largest prime number.
  \end{theorem}
\end{document}

由编译为pdflatex(这是所需的输出) 在此处输入图片描述

使用pandoc命令

pandoc MWE_pandoc.tex -f latex -s --mathjax -o MWE_pandoc.html

这将生成以下内容:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
   <title></title>
   <style type="text/css">code{white-space: pre;}</style>
 </head>
 <body>
   <p>There is no largest prime number.</p>
 </body>

其(正确)呈现为:

在此处输入图片描述

我使用的pandoc版本是pandoc 1.16.0.2

答案1

您的MWE_pandoc.tex文档在处理时tex4ht, 使用

 make4ht -u MWE_pandoc.tex "html5,mathml"

(看这一页对于其他选项)给出:

<?xml version="1.0" encoding="utf-8" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" 
"http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd" > 
<html xmlns="http://www.w3.org/1999/xhtml"  
> 
<head><title></title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)" /> 
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)" /> 
<!-- xhtml,html5,mathml,charset=utf-8,html --> 
<meta name="src" content="MWE_pandoc.tex" /> 
<link rel="stylesheet" type="text/css" href="MWE_pandoc.css" /> 
</head><body 
>
  <div class="newtheorem">
<!--l. 7--><p class="noindent" ><span class="head">
<a 
 id="x1-2r1"></a>
<span 
class="cmbx-10x-x-109">Theorem 1.</span>  </span><span 
class="cmti-10x-x-109">There is no largest prime number.</span>
</p>
  </div>

</body></html> 

呈现为

在此处输入图片描述

顺便说一句,我发现pandoc使用起来更灵活,所以如果我是你,我会观看github 上的这个主题,看看一个可靠的界面是否amsmathpandoc见效。但这可能只是个人喜好的问题……

答案2

在较新版本的版本中,该问题似乎不再存在pandoc(OP 在 2017 年提出该问题并使用pandoc 1.16.0.2)。

跑步

pandoc MWE_pandoc.tex -f latex -s --mathjax -o MWE_pandoc.html

生成 HTML<body>

<body>
<div class="theorem">
<p><strong>Theorem 1</strong>.  <em>There is no largest prime number.</em></p>
</div>
</body>

渲染

在此处输入图片描述

综上所述,当正确调用时,pandoc将生成:

  • <div class="theorem">可以用于进一步样式化的封闭标签
  • 定理名称的排版(大胆的) 与身体 (斜体

MWE 测试pandoc --version

pandoc 2.17.1.1
Compiled with pandoc-types 1.22.1, texmath 0.12.4, skylighting 0.12.2,
citeproc 0.6.0.1, ipynb 0.2

编辑:

我还测试了可用的pandoc/coreDocker 镜像及以上版本应该适用于pandoc --version >= 2.10.1,即pandoc/core:2.10.1及后续版本。

根据发行说明,该功能于 年添加pandoc 2.10.1 (2020-07-23)。搜索LaTeX reader以便发现后续的进一步改进。

在此处输入图片描述

相关内容