繁体   English   中英

Pandoc HTML 变量:`quotes` 和 `math`

[英]Pandoc HTML variables: `quotes` and `math`

Pandoc 默认 HTML 模板包含这两个变量:

  • quotes

  • math

它们应该如何使用?

更具体地说,我看到quotes设置了标签<q>的值。 这个标签是否用于 Markdown 到 HTML 的转换?

tl; dr:它们似乎大多是以前版本的 pandoc 的过时遗产

quotes

pandoc 提交的一点考古表明,当 pandoc 从使用<q>标签切换到直接添加引号时,添加了“引号”。 添加了一个新选项--html-q-tags以保持以前的行为:该选项将引号括在<q>并将quotes设置为true以便按照 html 模板中的说明添加一段 css 代码。 请参阅此对 pandoc 的提交和此对pandoc-templates 的提交。 使用以下文件查看行为:

"hello world"

这个:

pandoc test.md -t html --smart --standalone

产生(跳过通常的头部,没有 css 影响<q>

<p>“hello world”</p>

虽然这

pandoc test.md -t html --standalone --html-q-tags --smart

产生(跳过通常的标题)

  <style type="text/css">q { quotes: "“" "”" "‘" "’"; }</style>
</head>
<body>
<p><q>hello world</q></p>
</body>

不过你必须使用--smart

math

看起来这是为了在独立文件中包含数学渲染脚本而引入的。 请参阅 2010 年的此提交。我认为一些选择非(当前)默认数学渲染系统的命令行选项,如--mathml ,将此变量设置为实际有意义的值(如复制数学渲染脚本)。 尝试:

pandoc -t html --mathml

对于quotes变量,请参阅@scoa。
关于math变量,我发现了以下内容。

使用 MathML 时,即选项--mathml ,代码块:

$if(math)$
  $math$
$endif$

在默认的 HTML 转换模板中,向 HTML 输出添加了一个可移植性脚本。 无论如何,Chrome 和 Edge 目前不支持 MathML,而 Firefox 似乎在没有此脚本的情况下支持它。 因此,对于自定义模板,删除$if(math)$ ...代码块不会影响 MathML 渲染。

使用 MathJax 时,这是选项--mathjax$if(math)$ ...添加到 HTML 输出脚本块:

<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_CHTML-full" type="text/javascript"></script>

这对于呈现数学公式总是必要的。

使用--latexmathml ,将 LaTeX 样式数学转换为 MathML 的巨型脚本$if(math)$ ...代码块插入。 如果转换模板中没有此代码块,则不会插入脚本并且无法呈现数学。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM