据我所知,cramdown不支持\ newcommand类型的宏。 是否有一个不涉及Pandoc的解决方法,以便它可以在GitHub博客中与Jekyll一起使用?
这将是输入降价:
---
layout: post
---
\newcommand{\a}{\alpha}
This is a test $$\a$$.
输出应该是一个Jekyll博客,带有数学符号,如this。
答案 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>