kramdown中的Latex \ newcommand

时间:2015-06-13 17:44:32

标签: github latex jekyll kramdown

据我所知,cramdown不支持\ newcommand类型的宏。 是否有一个不涉及Pandoc的解决方法,以便它可以在GitHub博客中与Jekyll一起使用?

这将是输入降价:

---
layout: post
---

\newcommand{\a}{\alpha}

This is a test $$\a$$.

输出应该是一个Jekyll博客,带有数学符号,如this

1 个答案:

答案 0 :(得分:1)

这里似乎有两个问题 - 首先,可以在kramdown中定义类似于LaTeX的string Chosen_File = "C:\\_Testfile.txt"; string Second_File = "C:\\_Parsed.txt"; string wholeText = ""; private void mnuOpen_Click(object sender, EventArgs e) { //Add data from text file to rich text box richTextBox1.LoadFile(Chosen_File, RichTextBoxStreamType.PlainText); //Read lines of text in text file string textLine = ""; StreamReader txtReader; txtReader = new StreamReader(Chosen_File); do { textLine = textLine + txtReader.ReadLine() + " "; } //Read line until there is no more characters while (txtReader.Peek() != -1); richTextBox1.Text = textLine; txtReader.Close(); } } private void Write(string file, string text) { //Check to see if _Parsed File exists //Write to _Parsed text file using(StreamWriter objWriter = new StreamWriter(file)) { objWriter.Write(text); objWriter.Close(); } } private void newSummaryMethod(string copyText) { //Write into richTextBox2 all relevant text copyText = richTextBox1.Text; wholeText = richTextBox1.Text + copyText Write(Second_File, wholeText); } private void btn1_Click(object sender, EventArgs e) { newSummaryMethod(copyText); } 语法的命令,其次,可以kramdown支持数学。

关于第一个问题,kramdown本身不支持我所知道的语法或类似的任何内容and probably isn't going to in the future,因此您无法定义非数学kramdown命令。你需要使用一种专注于完整性的语言而不是简单易用的语言,比如LaTeX,以获得这样的功能。

但是,对于数学,MathJax(解析器kramdown使用)会解析\newcommand:只需继续并在第一个代码块中使用它。例如,

\newcommand

使用预期的Computer Modern italic Greek alpha产生预期分数,并且您还可以在每个后续代码块中使用$$\newcommand{\a}{\alpha} \a{}/2 $$ 。如果您不希望它们散布在整个文档中的随机代码块中,您还可以在文档开头包含一个包含所有\a定义的代码块。

关于第二个问题,正如我在这一点上显而易见的那样,kramdown使用与LaTeX类似的表示法处理数学:

\newcommand

这会产生:

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} $$

如果您的网站上没有成功呈现,请不要忘记在HTML网页的<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> include the MathJax library

<head>