pandoc用户指南指出(强调):
对于 LaTeX 以外的输出格式,pandoc 将解析 LaTeX \newcommand 和 \renewcommand定义并将生成的宏应用于所有 LaTeX 数学。因此,例如,以下内容适用于所有输出格式,而不仅仅是 LaTeX:
\newcommand{\tuple}[1]{\langle #1 \rangle}
$\tuple{a, b, c}$
Run Code Online (Sandbox Code Playgroud)
在 LaTeX 输出中,\newcommand 定义将简单地传递给输出。
例如,使用这个测试文件:
\renewcommand{\vec}[1]{\mathbf{#1}}
The gravitational force
$$\vec{g}$$
The gravitational force
$$\mathbf{g}$$
And with some code:
~~~{.cpp .numberLines startFrom="1"}
class A {};
~~~
Run Code Online (Sandbox Code Playgroud)
并将其转换为pandoc test.md -o test.html结果
<p>[1]{}</p>
<p>The gravitational force</p>
<p><br /><span class="math display">$$\vec{g}$$</span><br /></p>
<p>The gravitational force</p>
<p><br /><span class="math display"><strong>g</strong></span><br /></p>
<p>And with some code:</p>
<div class="sourceCode" startFrom="1"><table class="sourceCode cpp numberLines"><tr class="sourceCode"><td class="lineNumbers"><pre>1
</pre></td><td class="sourceCode"><pre><code class="sourceCode cpp"><span class="kw">class</span> A {}; </code></pre></td></tr></table></div>
Run Code Online (Sandbox Code Playgroud)
如果 pandoc 真的解析newcommandand renewcommand,为什么第一个g向量的 HTML 文件中保留了乳胶源代码:
<p><br /><span class="math display">$$\vec{g}$$</span><br /></p>
Run Code Online (Sandbox Code Playgroud)
而另一个定义g向量的乳胶方程成功转换为粗体g字母?
这是不一致吗?latex_macros通过调用启用扩展时的结果是相同的pandoc test.md --from markdown+latex_macros -o test.html。
我认为这是一个错字。这个文件:
\renewcommand{\vec}[1]{\mathbf{#1}}
The gravitational force
$$\vec{g}$$
The gravitational force
$$\mathbf{g}$$
And with some code:
~~~{.cpp .numberLines startFrom="1"}
class A {};
~~~
Run Code Online (Sandbox Code Playgroud)
给出预期输出pandoc test.md -o test.html(第 2 行和第 4 行与预期相同:\vec已定义为\mathbf)
<p>The gravitational force</p>
<p><br /><span class="math display"><strong>g</strong></span><br /></p>
<p>The gravitational force</p>
<p><br /><span class="math display"><strong>g</strong></span><br /></p>
<p>And with some code:</p>
<div class="sourceCode" startFrom="1"><table class="sourceCode cpp numberLines"><tr class="sourceCode"><td class="lineNumbers"><pre>1
</pre></td><td class="sourceCode"><pre><code class="sourceCode cpp"><span class="kw">class</span> A {}; </code></pre></td></tr></table></div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4086 次 |
| 最近记录: |