首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Latex \newcommand中的kramdown

Latex \newcommand中的kramdown
EN

Stack Overflow用户
提问于 2015-06-13 17:44:31
回答 1查看 539关注 0票数 0

我理解压缩不支持\newcommand类型的宏。是否有一种不涉及Pandoc的解决方案,以便可以在GitHub博客中与Jekyll一起使用?

这将是输入标记:

代码语言:javascript
复制
---
layout: post
---

\newcommand{\a}{\alpha}

This is a test $$\a$$.

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-14 17:01:36

这里似乎有两个问题--首先,一个可以在kramdown中定义类似于\newcommand语法的命令,其次,可以使用kramdown支持数学。

关于第一个问题,kramdown本身不支持这种语法或我所知道的任何类似的东西,而且很可能不会在未来,所以您不能定义非数学的kramdown命令。您需要使用专注于完整性的语言,而不是像LaTeX这样的简单易用的语言来获得类似的特性。

然而,对于数学,MathJax (解析器kramdown使用的)确实解析了\newcommand:只需继续在第一个代码块中使用它。例如,

代码语言:javascript
复制
$$\newcommand{\a}{\alpha} \a{}/2 $$

使用预期的计算机现代斜体字希腊字母生成预期的分数,您还可以在后续的每个代码块中使用\a。如果您不希望文档中的所有\newcommand定义都分散在随机代码块中,那么您也可以在文档的开头有一个包含这些定义的代码块。

关于第二个问题,我猜在这一点上很明显,kramdown使用与LaTeX类似的符号处理数学:

代码语言:javascript
复制
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} $$

这产生了:

代码语言:javascript
复制
<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>

如果这在您的站点上没有成功地为您呈现,请不要忘记在包括MathJax库页面的<head>中:

代码语言:javascript
复制
<script type="text/javascript"
    src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30821689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档