簡體   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