MarkDown写作之嵌入LaTeX和HTML

时间:2021-10-16 19:54:22


本系列文章由 @YhL_Leo 出品,转载请注明出处。
文章链接: http://blog.csdn.net/yhl_leo/article/details/49788741


Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用。看到这里请不要被「标记」、「语言」所迷惑,Markdown 的语法十分简单。常用的标记符号也不超过十个,这种相对于更为复杂的HTML 标记语言来说,Markdown 可谓是十分轻量的,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果。

它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版、字体设置。换句话说,它本身是不支持修改字体、字号与颜色等功能的,如果你想做出Word或Pages等高质量的文档,对于MarkDown来说是相当吃力的。对于完美主义者来说,并不满意,非要折腾一下下!

百度百科*获知这家伙与LaTeX,HTML有着千丝万缕的联系。用过后面这两个工具或者语言的都知道:LaTex对于数学公式、符号的排版堪称完美,是生成高印刷质量的科技和数学类文档的首选(例如大量的学术期刊、会议文章,书籍等都采用LaTex编写);而HTML作为一种超文本标记语言,制作不是很复杂,但功能强大,支持不同数据格式的文件镶入,这也是万维网(WWW)盛行的原因之一。

因此,如果想让我们的MarkDown文档做得更加高逼格、更加完美,让它复杂一丢丢,加入一些其他工具或语言的内容,又何尝不可。这么想的不止我一个人,MarkDown现如今已有很多衍生版本,我尝试过CSDNStackEditCmd简书的MarkDown版本,每一个拓展版本对于MarkDown原版本都进行了调整(如表格、脚注、内嵌HTML,内嵌LaTeX等)。于是现在可以看到拓展后的MarkDown功能越来强大,以至于最近看到几篇帖子关于RMarkDown:Markdown+R 可以替代 LaTeX 完成论文写作吗? 为什么Markdown+R有较大概率成为科技写作主流?这里就不多废话了,下面以最常用的三点进行简单阐述,如何通过引入LaTeX和HTML语言改善单一的MarkDown写作(以CSDN MarkDown为例,各个版本之间是有差异的,使用时需要斟酌)。

1

MarkDown全篇是统一使用黑色微软雅黑字体,字号默认为3,而HTML却可以像Word那样灵活,引入大量字体包、颜色和字号,例如在MarkDown:

Hello world
<font face="黑体"> 黑体: Hello world </font>
<font face="STCAIYUN"> STCAIYUN: hello world </font>
<font face="Terminal"> Terminal: Hello world </font>
<font face="Consolas"> Consolas: Hello world </font>

<font face="Consolas" size=3 color=#DC143C> Consolas,2,#DC143C: Hello world </font>
<font face="Consolas" size=4 color=(220, 20, 60)> Consolas,2,(220, 20, 60): Hello world </font>
<font face="Consolas" size=5 color=Crimson> Consolas,2,Crimson: Hello world </font>
<font face="Consolas" size=7 color=#0099ff> Consolas,2,Crimson: Hello world </font>

Hello world
黑体: Hello world
STCAIYUN: hello world
Terminal: Hello world
Consolas: Hello world

Consolas,2,#DC143C: Hello world
Consolas,2,Crimson: Hello world
Consolas,2,Crimson: Hello world
Consolas,2,Crimson: Hello world


font主要包含三个参数:字体(face),字号(size)和颜色(color),顺序可调,也可缺省。size的可选范围为1-7,小于1的数值等价于1,超过7的数值等价于7);color的赋值既可以使用颜色名,例如BlueBlackCrimson等,也可以使用十六进制的颜色值#0000FF#000000#DC143C等,如果想了解更多,可以阅读博客:CSDN-markdown编辑器语法——字体、字号与颜色

2

再来看数学字符及公式,MarkDown中使用标识符$$$$$$即可表示引入LaTeX语法,前者使用时不换行,即在所使用位置使用LaTeX的格式,后者会换行后居中,例如:

$$
f(x;\mu,\sigma^2) = \frac{1}{\sigma\sqrt{2\pi}} e^{ -\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2 } \tag{1}
$$


where $\mu$ is the mean value, $\sigma^2$ is standard deviation.

f(x;μ,σ2)=1σ2πe12(xμσ)2(1)

where μ is mean value, σ2 is standard deviation.


下面列出一些基本的LaTeX公式命令

2.1

命令 显示 命令 显示
\alpha α A A
\beta β B B
\gamma γ \Gamma \varGamma Γ  Γ
delta δ \Delta \varDelta Δ  Δ
\epsilon ϵ E E
\eta η H H
\theta θ \Theta \varTheta Θ  Θ
\kappa κ K K
\lambda λ \Lambda \varLambda Λ  Λ
\mu μ M M
\nu ν N N
\pi π \Pi \varPi Π  Π
\rho ρ P P
\sigma σ \Sigma \varSigma Σ  Σ
\tau τ T T
\phi \varphi ϕ  φ \Phi \varPhi Φ  Φ
\omega ω \Omega \varOmega Ω  Ω


2.2

命令 显示 命令 显示
\pm ± \mp
\times × \div ÷
\circ \bullet
\cdot \cup
\cap \subset
\supset \subseteq
\supseteq \leq
\geq \propto


2.3

命令 显示 命令 显示
\sum \int
\sum_{i=1}^{N} Ni=1 \int_{a}^{b} ba
\prod \iint
\prod_{i=1}^{N} Ni=1 \iint_{a}^{b} ba
\bigcup_{i=1}^{N} Ni=1 \bigcap_{i=1}^{N} Ni=1


2.4

命令 显示 命令 显示
\cdotp \cdots
\ddots \infty
\partial \bot
\hat{a} a^ \tilde{a} a~
\bar{a} a¯ \vec{a} a⃗ 
\dot{a} a˙ \sqrt{a} a
\sqrt[3]{2} a3 a^{3} a3
\frac{1}{a} 1a \lim_{x \to 0} lima0


2.5

分别举出一个例子,就应该可以对其完全领悟:

$$ 
\left[ \begin{matrix}
b_{1}&c_{1}& & & &0 \\
a_{2}&b_{2}&c_{2}& & & \\
&a_{3}&b_{3}&\ddots& & \\
& &\ddots&\ddots&c_{n-1} & \\
0& & & &a_{n}&b_{n}
\end{matrix}\right]
\left[ \begin{matrix}
x_{1} \\
x_{2} \\
x_{3} \\
\vdots\\
x_{n}
\end{matrix}\right] =
\left[ \begin{matrix}
d_{1} \\
d_{2} \\
d_{3} \\
\vdots\\
d_{n}
\end{matrix}\right]
\tag{2}
$$


$$ c'_i =
\begin{cases}
\begin{array}{lcl}
\cfrac{c_i}{b_i} & & ; i = 1 \\
\cfrac{c_i}{b_i - a_i c'_{i - 1}} & & ; i = 2, 3, \dots, n-1 \\
\end{array}
\end{cases}
\tag{3}$$

$$

b1a20c1b2a3c2b3cn1an0bnx1x2x3xn=d1d2d3dn(2)

ci=cibicibiaici1;i=1;i=2,3,,n1(3)


3

以网络上的一段图文为例:

<DIV ALIGN="CENTER">
<TABLE><CAPTION ALIGN="BOTTOM"><STRONG>Fig 1:</STRONG> Rigidly terminated string with the simplest frequency-dependent loss filter. All loss factors (possibly including losses due to yielding terminations) have been consolidated at a single point and replaced by a one-zero filter approximation.</CAPTION>
![KarplusStrong](http://img.blog.csdn.net/20150925112421105)
</TABLE>
</DIV>



MarkDown写作之嵌入LaTeX和HTML
Fig 1: Rigidly terminated string with the simplest frequency-dependent loss filter. All loss factors (possibly including losses due to yielding terminations) have been consolidated at a single point and replaced by a one-zero filter approximation.


当然也可以简化只使用<center>

<center>
![Panda](http://img.blog.csdn.net/20151109165400641)
Panda
</center>


MarkDown写作之嵌入LaTeX和HTML
Panda


关于图片大小的显示问题,可以阅读博客:MarkDown图片大小问题

至于更复杂的操作,可以查阅更多资料。对于使用一些网页上不错的用法时,建议可以通过查看网页源码,找到对应的HTML源码,稍作调整即可应用到文档写作中:

MarkDown写作之嵌入LaTeX和HTML

MarkDown写作之嵌入LaTeX和HTML