我正在使用 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}
使用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 上的这个主题,看看一个可靠的界面是否amsmath
能pandoc
见效。但这可能只是个人喜好的问题……
答案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/core
Docker 镜像及以上版本应该适用于pandoc --version >= 2.10.1
,即pandoc/core:2.10.1
及后续版本。
根据发行说明,该功能于 年添加pandoc 2.10.1 (2020-07-23)
。搜索LaTeX reader
以便发现后续的进一步改进。