簡體   English   中英

Kramdown中的Latex \\ newcommand

[英]Latex \newcommand in kramdown

我了解cramdown不支持\\ newcommand類型的宏。 有沒有不涉及Pandoc的解決方法,以便可以與GitHub博客中的Jekyll一起使用?

這將是輸入減價:

---
layout: post
---

\newcommand{\a}{\alpha}

This is a test $$\a$$.

輸出應該是一個傑基爾博客,用數學符號,像這樣

這里似乎有兩個問題-首先,可以在kramdown中定義類似於LaTeX的\\newcommand語法的命令,其次,可以kramdown支持數學。

關於第一個問題,kramdown本身不支持該語法或我所知道的類似語法, 並且將來可能不會支持該語法,因此您無法定義非數學的kramdown命令。 您需要使用專注於完整性而不是簡單易用的語言(例如LaTeX)來獲得這樣的功能。

對於數學,盡管如此,MathJax(kramdown解析器使用的解析器)確實解析\\newcommand :只需繼續在第一個代碼塊中使用它即可。 例如

$$\newcommand{\a}{\alpha} \a{}/2 $$

產生帶有預期的Computer Modern italic Greek alpha的預期分數,並且您還可以在每個后續代碼塊中使用\\a 如果您不希望它們散布在整個文檔的隨機代碼塊中,則在文檔的開頭還可以包含一個包含所有\\newcommand定義的代碼塊。

關於第二個問題,我想這很明顯,kramdown確實使用與LaTeX類似的符號處理數學:

Here is a paragraph with some inline math, $$ \pi{}/2 $$, followed by
some text and a math block.

$$ \int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi} $$

這樣產生:

<p>Here is a paragraph with some inline math, <script
type="math/tex">\pi{}/2</script>, followed by some text and a math 
block.</p>

<script type="math/tex; mode=display">\int_{-\infty}^{\infty} e^{-x^2}
dx = \sqrt{\pi}</script>

如果那不能在您的網站上成功呈現,請不要忘記在HTML頁面的<head>包含MathJax庫

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM