教科書上的數學公式是怎麼編輯的?

用Word自帶的公式編輯器編輯出的公式不太美觀,反觀任何一本國內的理工類方面的有公式的書籍,裡面的公式都比較美觀,不知道是用什麼軟體編輯的,Mathtype也編輯不出那種教科書里的公式。


2016.06.18 更新@貓立刻 的指正,補充兩個物理化學中的公式排版。

============================================================

(一)
國內,像高教出版社,化學工業出版社等,教材都是方正系統排的,使用的是方正的英文和數學字體。除非你自己有一套 D 版的方正排版系統,想排出和國內教材一模一樣的效果,基本沒有可能。

個人覺得國內教材上方正數學字體太細。你覺得國內教材書上的字體更好看,一定程度上有先入為主的因素,看習慣了某些樣式,以為這些樣式就是標準,就是美。自從我接觸了 LaTeX 世界很多曲線飽滿、優美的數學字體後,覺得方正的那套數學字體也是一般般。

(二)
即使你掌握了好的排版公式的軟體或語言,也未必能排出工整像樣的公式。比如,你有注意過理工科中的單位都是和數值間隔一小段間距嗎?你有注意過,一般物理量用 Italic(所謂的「斜體」),而單位使用 Upright (正體)嗎?比如

documentclass{article}
usepackage{siunitx}
egin{document}
[
p = SI{760}{mmHg}
]
not
[
mathrm{p}=760 extit{mmHg}
]
end{document}

你有注意過很多國內教材,數學常數 π,e,虛數單位 i 都是使用正體;而像數學函數名,如正弦函數(sin),對數函數(log),一些算符,如導數的萊布尼茲符號(d,或者稱作你們熟悉的「微分算符」),都是使用正體,而不是 Italic:

documentclass{article}
usepackage{amsmath}
usepackage{upgreek}
egin{document}

oindent Either
egin{equation}
f(x) = dfrac{1}{2uppi}int ^{infty}_{-infty}hat{F}(k)mathrm{e}^{mathrm{i}kx}mathrm{d}k ag{ISO style}
end{equation}
or
egin{equation}
f(x) = dfrac{1}{2pi}int ^{infty}_{-infty}hat{F}(k)e^{ikx}dk ag{Conventional style}
end{equation}
end{document}

類似這樣,對於數學物理公式和單位的排版原則,國內的正規出版教材的出版社,都是根據 國家標準《GB 3102.11-93 物理科學和技術中使用的數學符號》,這是一個對 ISO 31-11 和 ISO 80000-2:2009 標準的推廣【1】:http://www.jgjs.net.cn/UserFiles/File/GB%203102.11-93.pdf

注意這個標準號是「GB」,不是「GB/T」,因此在中國大陸,這是一個強制標準。國外教材倒是沒有這方面的限制(沒有說一定要讓圓周率 π,導數的萊布尼茲符號 d 以正體出現在出版物上,但是 sin,ln,log 這些函數名,為了和變數、物理量區分開,都是用 upright 形式)。

此外,某些人排公式,實在是對於美觀不是很留心,比如,如果你讓人蛋疼地排出了如下這個公式:

稍微注意一下,教材都是如何讓複雜分式看起來不那麼臃腫:

(三)

word 內置的數學公式排版功能,是使用微軟自己的 Cambria Math 字體。這類字體,是基於 OpenType 數學擴展的特殊字體(普通的 OpenType 字體是不能隨便用於排版數學公式),公式里的分式,根式,上下標,基線等等是由複雜的參數控制的,具體來說,是基於「數學排版參數表」(The mathematical typesetting table, 縮寫是 MATH)【2】:MATH - The mathematical typesetting table

MATH 參數表是專門為 OpenType 字體設置公式中參數的表,這些參數受到 LaTeX 的數學公式參數的啟發,並繼承鉛印時代排版數學公式的複雜結構:

由微軟公司開發完成,微軟公式基於此參數表,開發出了第一款帶有數學公式擴展的 OpenType 字體:Cambria Math,配合襯線字體 Cambria。

如果你不喜歡 Cambria Math,可以更換其它開源的、帶有數學擴展支持的 OpenType 字體,只要下載這些字體的文件,複製粘貼到控制面板——字體里,你就能在 word 中使用:Fonts for Mozilla"s MathML engine

具體如何在 word 中將 數學模式下的 Cambria Math 更換成別的數學字體,請參見:http://jingyan.baidu.com/article/0f5fb0991cff3d6d8334ea33.html

注意,很多學校要求畢業論文的正文字體是 Times New Roman。這是 Monotype 公司設計的一款 TrueType 字體,雖然字母覆蓋對於普通理工科學生是夠用了,有擴展拉丁和希臘字母,也支持一部分特殊符號。但是沒有配套的數學字體參數支持,不能用於排版數學公式(你用黑客技術,自己為 word 寫插件,硬排也是有辦法的,但不可避免會難看),而且眾多用於數學公式,物理單位的 unicode 符號,Times New Roman 也沒有為這些 glyph 設計相應的字體形狀,你用 Times New Roman 是打不出那些符號的。一個比較好的替代方案,是使用開源的、支持 MATH 參數表的 Times 風格字體來代替(比如 TeX Gyre Termes,STIX 或 XITS 的 OpenType 字體,三款都是 Times 風格)。可以在 word 中使用。

(四)

(以下是更多關於數學字體和公式排版的信息,屬於跑題內容……)

Springer 的很多教科書,基本上都是和 TeX 世界有關的排版做成的,國外很多理工教材都是撲面而來的 Computer Modern 系列字體(源於 TeX 世界,高德納教授開發),有些國外的學術出版機構是使用商業數學字體,如 MathTime Professional(Times 風格,兩個版本都是 Type 1 字體)。

現如今,絕大部分數學公式排版軟體,功能,或多或少都受到了 TeX 的影響,或者是基於 TeX 對於數學公式參數的處理。TeX 是斯坦福大學高德納教授(計算機科學家,Professor Donald Knuth)在上世紀 80 年代開發的一個排版系統,因為他無法忍受每況愈下的出版社排版,影響他出書,於是決定暫停他的出書計劃,開發一個排版系統,採用先進的演算法來實現斷行,分頁,間距,交叉引用,數學公式,文獻目錄等眾多學術排版功能。由於 TeX 的語句對於普通用戶來說過於複雜,美國的 Leslie Lamport 博士基於 TeX 開發出了 LaTeX 系統,現在大部分 TeX 用戶,都是使用 LaTeX 的。

LaTeX 是排版數學公式是當之無愧的第一,也是出版界的事實標準。微軟做 MATH 參數表,很多也是直接採用 TeX 對於公式處理的參數(微軟為 LaTeX 做出了巨大的貢獻,MATH 參數表的完成,使得在 LaTeX 中使用帶有數學支持的 OpenType 字體成為了可能)。

主觀一點,個人認為,很抱歉,我實在是認為,MathType 是垃圾……(非常抱歉,如果冒犯了忠實用戶和開發者),是一個公式排版非常低端的實現,而且還收費。當然,工具沒有絕對的高端低級,只要能讓你覺得效率高,輸出效果令你,你導師或者審查人滿意,那麼適合的才是最好的。

--------------------------------------

某些人認為我大 LaTeX 敲公式效率低,呵呵,一是你不熟悉 amsmath 的命令,二是你不會配置好的編輯器,插件,快捷鍵以及自動補全。等過了陡峭的學習曲線段,純鍵盤操作,雙手不離開鍵盤,絕對比你一會兒點滑鼠,一會兒敲鍵盤,一會兒上網搜公式怎麼敲快多了。至於這個學習成本是不是值得你付出,仁者見仁,智者見智,看情況。自從入了 GNU 世界的大坑,習慣文本文件,文本編輯器,git 版本管理,Emacs + org mode 記筆記,數據可視化和示意圖都用矢量圖格式……對於 word 這類單純以二進位文件打開、保存我大段學術論文的東西,且對 Office 之外矢量圖格式糟糕的支持,恕我實在是不太滿意,也不放心……

2016.06.18 更新@貓立刻 的指正:另外.docx就是壓縮的xml文件,不是那種「純」二進位文件。很多人用Word是因為合作者只會Word。

---------------------------------------
看到答案中有人用 MathType 滑鼠一鍵點出了物理化學中的兩個頻繁使用的公式。首先吐槽一下高教出版社的南京大學《物理化學》教材的排版(別誤會我,這是我認為國內最好的物化教材,這個只是吹毛求疵的一個排版小槽點),目前的第五版中,依然沒能排出一個很簡單的「標準狀態」符號,只能使用電學中的一個二元運算符(?,U+2296,TeX 中的命令通常是 ominus)來代替,國外的教材,排不出這個符號的,也只能使用 ° 來代替。

TeX 世界中的創造力,也能體現在自己定義符號上,這裡採用 Donald Arseneau 定義「標準狀態」的方法,經由 Joseph Wright 在他的 chemstyle 宏包中改進,可以有如下效果

documentclass{article}
makeatletter
providecommand*stst{%
{%
ensuremath{protectcst@stst}%
}%
}

ewcommand*cst@stst{%
mathpalettecst@stst@auxcirc
}

ewcommand*cst@stst@aux[2]{%
ooalign{%
hfil
$#1-$%
hfil
cr
hfil
$#1#2$%
hfil
cr
}%
}
makeatother

egin{document}
[
Delta _rG^{stst}_m = Delta _rH^{stst}_m - TDelta _rS^{stst}_m
]
end{document}

這標態符號的效果目前是要好於 MathType 吧?等 MathType 升級後,也許符號會變得更好看……

進一步吹毛求疵,覺得 r (reversible,可逆)和 m (molar,摩爾生成 XXX)應該用正體?好吧:

上下標的字體用 amsmath 宏包去調吧,調到滿意為止。

==================================

參考資料

【1】李阿玲﹒《LaTeX 與 MathJax:數學公式與 web 呈現》﹒「學術與 TeX」微信公眾號
【2】劉海洋﹒《LaTeX 入門》﹒電子科技出版社


首先 Word 是字處理軟體,不是排版軟體。所以肯定不會是 word. 國外很多比較新的教科書都是某種 TeX 排的,比如我隨手找一本,Sakurai 的量子:

這公式一看就是 TeX. 當然不一定是 LaTeX, 出版社很可能有專業用途 TeX 編譯器和宏包。

當然這麼好的機會,我會順便黑一下 MathType. 這貨也是不能用於出版用途的,原因是排出來太難看,我覺得手寫掃描還要比 MathType 更好一些,真不知道為什麼有人買那個破玩意。這裡引用一下 @Charles小狼的圖:

對比:

更新:

大家不要揪著字體不放,MathType 默認使用 Times New Roman, 是套還不錯的字體。MathType 的爛基本和字體無關。

說 MathType 是 Word 里最好用的公式編輯器的人,你們還活在十年前。Word 現在自帶的公式系統多好用啊,排出來也不錯,你們倒是用啊!!!!

MathType 我十年前就用過,現在一點改進都沒有。


國內教材用的是方正的系統,公式部分是仿照 TeX 做的,字體則是某個 Bodoni 的變體,比較迷
國外教材和進口教材基本都是 TeX
Word 自帶的公式其實也是很好看的,但是 OpenType Math 字體太少了,我想要個 Garamond 式的,但是沒有


高等數學類的書多數是TeX,少數是書版。
中小學的基本全是書版。
至於MathType,那是學校里印那些亂七八糟的期末考試卷子的時候才用的,拿出來都嫌丟人。
從排出來的數學公式質量上看TeX&>書版&>&>MathType


國內的數學物理化學排版基本都是方正書版做的,這個毋庸置疑。方正也是用命令來排版的,並不能做到實時預覽。它的那套字母+數字+符號字型檔(注意:我並非單指字母字體)也是自己獨家的,很難做到百分百的模仿。我在百度文庫上傳過一個書版排版的PDF文件,你可以下載看看。請無視文庫的網頁預覽,因為那個和實際看到得文檔完全是兩個樣子。
http://wenku.baidu.com/view/86c59be09b89680203d82566

2016.6.22 補充:
方正的那套英文字型檔,正體的風格類似於 Century Old Style:
http://www.myfonts.com/fonts/adobe/century-old-style/
斜體的風格類似於 Plantin Std Italic:
http://www.myfonts.com/fonts/mti/plantin/
為什麼國內用方正系統的比較多呢?因為書版除了可以排數學,還可以排化學結構式、化學反應,包括在化學式上面指明電子流向的箭頭和說明等。國內的教材都是為了風格上的統一,因而採用方正書版。另外一點是方正的排版語言大都是拼音首字母縮寫,LaTeX 通常用於排文字和數學、物理之類的,其語言為英文,在國內這個市場來說還是方正更容易入行一些。

以下是幾個數理化方面內容用方正書版排版的結果樣例:

https://pic4.zhimg.com/baa371148a80a2d585f467d541d86f37_r.png

https://pic2.zhimg.com/cf2bfd339ce4288d41b00546293e6591_r.png

https://pic2.zhimg.com/a64944a773661079994dab372a74a0e9_r.png

https://pic4.zhimg.com/31d018aac4bbe7e0f5d2e7020dc3b613_r.png下面這個效果是 MathMagic 軟體排出來的:

可以看到,其中的希臘字母風格正是類似於方正書版。也就是說方正書版的字體其實本身就是一套風格不統一,比較混亂的字體。其英文字母的正斜體和希臘字母都是借鑒自不同的英文字體,且偶然也會有一兩個字母的風格又是借鑒自另外一個字體。


mathtype 可以改成tex里的字體的,所以 也挺漂亮,必須吐槽默認的 Times New Roman丑爆了


國外的出版商 Springer、Elsevier、Wiley-VCH 相當數量的書籍是用 TeX 語言排版的,它們應該有自己定製的軟體

特別提一下 McGraw-Hill 等教育出版集團,它出版的大量教科書用的是 Adobe InDesign。全彩銅版紙印刷,貴得要死。

國內的出版社,大都是方正的排版軟體。排版是出版社的事,就化學而言,寫書的作者,一般是用 Word 提交初稿的。公式毫無疑問是 MathType,甚至 Microsoft 公式編輯器3.0。並且,一般會要求圖文分開,圖片單獨提交。我以前在的研究組,有一位老師編寫過無機化學教科書,初稿就是 Word。


———以下與問題無關———
我是來支持 MathType 的。(我好像陷入了一條鄙視鏈的陷阱里~)

MathType 並不是填充模板這樣簡單,只會填充模板,寫出來的公式當然不好看。
MathType 也有類似 TeX 風格的設置。
在 Preferences → Equation Preferences → Load From File,提供了很多風格。
比如 TeX Look(下圖)和 Euclid 12(圖略)。
如果仔細研究 MathType 的設置,其實所有的字體字型大小間距都可自定義——只是鮮有人這樣做罷了。

MathType 一樣支持 LaTeX 命令。並且支持 MathType ←→ LaTeX 命令的相互轉化。
去 Word 載入項中找,有相應的按鈕。

如果就是不喜歡 MathType ,還有國產的 AxMath 可以選擇。AxMath 是挺不錯的公式編輯器。
同樣,支持 Word 載入項、字體字型大小間距自定義、LaTeX 輸入、公式收藏夾等等。

我更樂意把學習 LaTeX 的時間,放在自己的專業上。
所見即所得的工具,極大地解放了普通用戶。畢竟,工具次之,內容重要。


總黑 MathType,為什麼沒人說 ChemDraw 難用呢?他倆差不多啊,都是滑鼠點來點去的。


首先呢,國內傳統上是方正、華光的激光照排系統(http://www.zhihu.com/question/47061128)。當然直接用中文LaTeX排的書疑似也是有的,比如馮端、金國鈞的《凝聚態物理學》。

其次,看到你們這樣黑 MathType 呢……I"m angry。還是要按照基本邏輯,按照控制用戶水平的辦法……去黑。作為一個花了錢的 MathType 的個人用戶,我覺得有必要給你們介紹一點 MathType 的使用經驗。比如我在 word 裡面敲幾個 Latex 命令:

然後你點一下 「Toggle TeX」:那幾行純文本命令怎麼就顯示成(相對)漂亮的 MathType 公式了呢?

所以這個 MathType 的水平,比有些人想的,那是不知道高到哪裡去了——你們還要學習一個。當然這個 scientific writing 呢……手寫 TeX 命令是最痛苦的,而且這個效率 efficiency... 我的經驗就是,建立一個個人維基,裝上 MathJax 插件,然後一些常用的公式呢就用 LaTeX 寫好放到維基上。一定要寫 Word 的時候只需要 Copy as LaTeX。我實在也不是吹噓,用了 MathType 配合維基和 MathJax 搞的東西,……Excited!


一般教科書或者出版的書籍,出版社會傾向用latex去編輯排版。Word在專業排版上還是差那麼一點,尤其是在大部頭的書籍和文章方面。如果想要編輯出教科書水準的公式,樓主可以參看知乎裡面關於Latex的文章。


國產wps中的word里,公式編輯做的很人性化,推薦。


數學狗飄過 論文都是用Latex寫的 排版整齊漂亮


萬萬妹想到 邀請你回答此問題


用word編寫公式,建議換個公式字體,板式也改下(去網格),一直用word2016編,裡面的墨跡書寫不錯


Mathfuns也可以進行數學公式編輯,還可以計算哦,推薦大家一個iOS版本的App,網址:Mathfuns


LaTeX


LATEX


tex文件嘛,作為數學專業的學生我們平時寫作業寫論文都是latex方便又美觀


剛從人大學習回來。講課的一個老外和一個老中都用tex。學不學看專業。統計、數學、計算機專業的學一下又不會死。


國外的教材應該都是 TeX
比如這樣的

(Awodey 的貓論第二版
順便你們那個 MathType 排的就別拿出了現眼了好不好。。。

(我概率論的作業


有專門的數學公式編輯插件,以及高級宏拓展。
寫個論文什麼的就直接打吧,總共也沒幾個,時間又充足。人家專門寫書的,隔幾行就是公式,肯定是專門編輯軟體,比如mathtype之類

當然,還有二次開發的更好用的,收費是必然的。


推薦閱讀:

平面設計師需要掌握哪些印刷知識?

TAG:印刷 | 字體排印 | 公式 | TeX | MathType |