一步一坑,繼續(xù)LaTeX系列的第三篇【公式篇】,前面介紹過【入門篇】和【文本篇】,新來的朋友們可以點(diǎn)擊這里查看。在公式編輯方面,LaTeX具有獨(dú)到甚至統(tǒng)治性的優(yōu)勢(shì),大批用戶投入LaTeX的懷抱。今天就一起見識(shí)下它的魅力吧!
論數(shù)學(xué)公式
對(duì)于理工科、經(jīng)濟(jì)學(xué)等方向的學(xué)生和科研人員來說,難免要與數(shù)學(xué)公式打交道,比如寫報(bào)告、發(fā)表學(xué)術(shù)論文。從我自己和周圍的朋友來看,排版數(shù)學(xué)公式永遠(yuǎn)是件麻煩事,特別是當(dāng)公式很多很復(fù)雜時(shí)。
比如在Word中,插入公式很容易引起行距的變化,需要多次調(diào)整,且很容易出現(xiàn)牽一發(fā)而動(dòng)全身的典型Word風(fēng)格(此處忽略Word排版大神)。此外在Word中給公式編號(hào)也是要經(jīng)過很多步驟,就算借助MathType也無法實(shí)現(xiàn)一鍵完成編號(hào)的程度。
目前排版數(shù)學(xué)公式的方法最常見的是:
Word中自帶的插入公式功能。借助
Mathtype。
上面這兩種方法,要么折磨人,要么根本滿足不了需要,這里不多說,大家都懂?。海?/p>
今天就向大家介紹排版數(shù)學(xué)公式的王者LaTeX。
?,準(zhǔn)備入坑!
LaTeX 數(shù)學(xué)公式語法
假如現(xiàn)在我們要用LaTeX排版勾股定理,編寫下面的代碼即可:
$a^2 + b^2 = c^2$
得到的效果就是:

什么!這么簡(jiǎn)單,等等,沒你想得那么簡(jiǎn)單:)
因?yàn)?code>LaTeX也算是一種編程語言,所有內(nèi)容都需要通過代碼實(shí)現(xiàn),從上面勾股定理的實(shí)現(xiàn)代碼可以看出都是由字母搭配各種符號(hào)構(gòu)成。這里有兩點(diǎn):
- 字母是都知道,這不是問題。
-
LaTeX編輯公式涉及到的符號(hào)特別多,先不說知道什么時(shí)候用哪個(gè)符號(hào),你連把這些符號(hào)記住就不太可能了(累覺不愛,且行且珍惜:))
不過,有辦法解決,后面再說。繼續(xù)LaTeX語法。
? 行內(nèi)公式
所謂行內(nèi)公式(inline math)即指公式不單獨(dú)成行,而是在一句話的中間。行內(nèi)公式有三種表達(dá)方式:
$...$\(...\)\begin{math}...\end{math}
我們一般習(xí)慣使用$...$。比如我要表達(dá)頻率等于速度除以波長(zhǎng)這么一句話,LaTeX代碼如下:
頻率$f$等于速度$v$除以波長(zhǎng) $\lambda$
效果如下:

是不是很簡(jiǎn)單的呢:)
? 行間公式
行間公式(display math)指單獨(dú)成行的公式,分單行公式和多行公式(后面再說)。行間公式的表達(dá)方式也有三種:
$$...$$\[...\]\begin{displaymath}...\end{displaymath}
同樣,一般習(xí)慣使用$$...$$。比如使用下面的代碼實(shí)現(xiàn)二次函數(shù)的一般表達(dá)式:
$$ f(x)= ax^2 + bx + c $$
運(yùn)行得到效果:

怎么,是不是依然很簡(jiǎn)單,:)繼續(xù)往下看。
? 公式編號(hào)
公式編輯好后,往往需要對(duì)其進(jìn)行編號(hào),即公式有編號(hào)且編號(hào)自動(dòng)增加。實(shí)現(xiàn)公式編號(hào)需要在導(dǎo)言區(qū)(不懂這些概念的點(diǎn)擊這里學(xué)習(xí))調(diào)用{amsmath}宏包,還得使用equation環(huán)境。給二次函數(shù)一般表達(dá)式編號(hào)的全部實(shí)現(xiàn)代碼如下:
\documentclass[UTF8]{ctexart}
\usepackage{amsmath}
\begin{document}
\begin{equation}
f(x)= ax^2 + bx + c
\end{equation}
\end{document}
運(yùn)行得到效果:

但是,單單做到這一步還不夠,因?yàn)橥臋n都是有章節(jié)的,且經(jīng)常碰到公式編號(hào)跟隨章節(jié)序號(hào)變化的要求。這一點(diǎn)LaTeX早就為我們考慮了,而且實(shí)現(xiàn)方法非常簡(jiǎn)單(絕對(duì)秒殺Word和MathType)。
方法就是導(dǎo)言區(qū)添加:\numberwithin{equation}{section}
因此修改前面的代碼為:
\documentclass[UTF8]{ctexart}
\usepackage{amsmath}
\numberwithin{equation}{section}
\begin{document}
\section{Math}
\begin{equation}
f(x)= ax^2 + bx + c
\end{equation}
\end{document}
運(yùn)行得到效果:

到這里,可以發(fā)現(xiàn)用LaTeX編輯公式是這么簡(jiǎn)單高效。那么如何解決很難記住那么多符號(hào)的問題呢,比如求和、積分、求導(dǎo)等符號(hào)。繼續(xù)往下看。
你可能不知道的 MathType 功能
先設(shè)想一下:
如果能先在MathType里編輯好公式,然后直接拷貝到LaTeX里進(jìn)行排版,那該有多好!這樣便能將MathType可見即可得的風(fēng)格與LaTeX所思即所想的風(fēng)格結(jié)合起來。
事實(shí)是MathType確實(shí)能做到,下面具體說一下。
-
首先在
MatyType中編輯好自己需要的公式,比如二次函數(shù)根的表達(dá)式:編輯公式 -
在菜單欄選擇剪切并拷貝預(yù)置
MathType設(shè)置 -
選擇
MathMl 或 TeX,點(diǎn)擊確定,完成設(shè)置。MathType設(shè)置 然后全選編輯器好的公式,
Ctrl+C復(fù)制。在
LaTeX編輯器(比如TeXstudio)粘貼,得到:
\[x = \frac{{ - b \pm \sqrt {{b^2} - 4ac} }}{{2a}}\]
這里可以看出,默認(rèn)情況下MathType采用行間公式\[...\]。
-
編譯代碼得到:
編譯輸出 到此完成。
所以可以看到,通過上述方法,我們可以在MathType中先編輯好比較復(fù)雜的公式,特別是涉及很多符號(hào)的公式,然后拷貝到LaTeX中。當(dāng)然,有時(shí)滿足需要,可以稍微修改下粘貼到LaTeX的代碼,以得到更好的公式排版效果。
更多實(shí)用技能請(qǐng)移步我的公眾號(hào)青檸學(xué)術(shù)謝謝支持?。海?/p>
這是尾巴
讀過本文,如果覺得有收獲,歡迎點(diǎn)贊轉(zhuǎn)發(fā)。
想閱讀更多內(nèi)容,可以到我的公眾號(hào):青檸學(xué)術(shù)逛一逛,優(yōu)質(zhì)的科研技巧、效率工具等著你。
博主:浙江大學(xué)電子工程博士生,劍橋大學(xué)交流生,國(guó)家獎(jiǎng)學(xué)金獲得者。



