先放一個《Paca II》試聽鎮樓
如果喜歡請掃描文章下方的二維碼支持我們
好的看到這大家是不是要關掉這篇推送了(不要啊)
前fei言hua
今天突然想寫一點圖文和公式排版有關的東西。
還記得化院第一年的今日化學課(對應信科的信概)對排版有明確的要求(甚至要計分)。到了信科以後,要寫的論文沒怎麼減,但是排版好像一直沒有人講過,所以就想把道聽途說的一些東西再倒出來,希望能讓它們發揮一點餘熱。
本文主要分為圖文排版和公式排版兩個部分。第一部分應該所有人都可以用得到,第二部分主要對常打公式的盆友們適用。諷刺的是,作為一篇跟排版密切相關的推送,由於我的公眾號排版經驗實在有限,本文的排版只達到baseline水平,請大家湊合著看看。
註:本文部分內容參考了我的今化助教童年寫的四篇知乎文章(知乎@Childhood Chen)。原文寫得比我詳細,連結放在了文章末尾,大家有興趣歡迎去拜讀w
圖文排版
1. 襯線體與非襯線體
簡單地說,宋體和Times New Roman等線條寬度有明顯差距、邊緣處常有裝飾的是襯線體 (Serif),黑體、等線、蘋方和Arial等線條寬度相對一致的是非襯線體 (Sans-serif)。
襯線體和非襯線體不宜混排,否則會產生衝撞感。感受一下:
襯線-非襯線混搭效果圖。1和4應該是最舒服的組合。
2. 等寬字體
這種字體信科的盆友在寫代碼的時候應該經常見得到,就是每個西文字母寬度相同的字體(仔細觀察上面圖中的襯線體和非襯線體,字母的寬度是有區別的)。
在非代碼場景下,一般不採用等寬字體,因為它「喪失了字母間的節奏感和韻律感」[2],不適合閱讀。然鵝Windows中宋體的英文字母偏偏採用了等寬字體(上圖第四行),所以用宋體進行英文排版或中英混排會非常醜。
上:(中文)宋體+(英文)宋體
下:(中文)宋體+(英文)Times New Roman
插播一句,Visual Studio裡默認的等寬字體是新宋體,在看過Ubuntu上VS Code優美的等寬字體之後我果斷把它改成了Droid Sans Mono。(Ubuntu終端的等寬字體Ubuntu Monospace也不錯)
3. 字重
簡單地說就是字的粗細。很多字體都會提供多種字重,如思源黑體CN就有七種字重,見下圖。
不同字重的思源黑體CN
不同字體搭配時,需要注意字重的問題。比如等線Light和Arial搭配就稍微顯得中文細了一些,閱讀時會首先把注意力集中在英文上,仿佛那裡被加粗了一樣。
同樣是非襯線字體,但英文由於字重太大十分搶鏡
4. 斜體
斜體主要是一個西文字體中的概念,右利手的盆友自己寫英文的時候應該也會自然地寫成斜體。真正的英文斜體是重新設計筆畫的斜度得到的,而虛假的英文斜體是由字母的整體傾斜造成的,因而強調的功效不如前者[4]。而中文的斜體就更難看了,因為中文的豎在整個字形中有重要的基準意義,如果你想要在中文中起到強調作用,請優先考慮加粗或者更換字體(如在宋體文本中用粗黑體或仿宋)。
上:真假斜體對比圖;下:斜體在文本中常起到強調的作用
5. 邊距
在文檔排版中,適當留出邊距非常重要。
增加段前/段後距有助於讀者掌握文檔的結構、從而流利地閱讀文本。段前/段後距可以在Word的「段落」選項卡中設置。
左:無段後距;右:有段後距
在製作ppt時,如果你的字一頁寫不下(這本身就是重大的問題了,ppt上放這麼多字不會有人想看的),請千萬不要把正文文本框拉得很大,這樣會侵佔頁邊距,讓整個頁面看起來特別擠。
圖表也是一樣,除了那種和背景融為一體的圖,請不要放在離頁邊太近的地方。圖表和周圍的文字也要留夠邊距。
公式排版
以下主要討論用latex代碼寫公式,不過基本原則是相通的。如果大家想詳細了解在Microsoft Office的公式編輯器裡如何快速美觀地寫公式,可以參閱童年寫的這篇推送。
1. 公式中的斜體[5]
由於LaTeX Math Mode中默認的字體樣式是斜體,很多人寫的公式會成片斜體。但實際上這是很不符合規範的,因為公式中哪些元素必須斜體、哪些元素必須不斜體是有約定的[5]。經查,我們的高數和數分教材完全符合下述規定,但也有很多其他的教學資料沒有做到。
數字不斜體
物理量(如V、摩爾恆壓熱容C_p,m中的p)要斜體
變量(如x、μ)和物理常數(如阿伏伽德羅常數N_A, 電子電量e)要斜體
文字(如高中學過的n_B=c_B·V裡的物質B、摩爾恆壓熱容C_p,m中表示molar的m)不斜體
運算符(如sin、argmax、ΔH中的Δ、dx中的d)不斜體
單位(如kg、μg)不斜體
一些符合要求的公式。
註:帶單位的公式中,數字和單位之間要空格。在要求不高的情形下,第四行所採用的簡單空格是勉強可以接受的。但最好還是用siunitx包進行單位輸入。
上圖中的latex代碼見下。
% For displaying units.\usepackage{siunitx}% The number `e`.\def\eu{\ensuremath{\mathrm{e}}}% The imaginary unit.\def\iu{\ensuremath{\mathrm{i}}}% The differential operator.\def\du{\ensuremath{\mathrm{d}}}
\begin{align*}&\int_a^b x^2\;\mathrm{d}x= \tfrac{1}{3} x^3 \Big|_a^b\\&\eu^{\iu \theta} = \cos \theta + \iu \sin \theta\\&C_{p,\mathrm{m}} - C_{V,\mathrm{m}} = R\\&3 \ \mathrm{s} \times 2 \ \mathrm{m/s} = 6 \ \mathrm{m} & \textrm{with space b/t nums and units.}\\&\SI{3}{\second} \times \SI[per-mode=symbol]{2}{\meter\per\second} = \SI{6}{\meter} & \textrm{with \texttt{siunitx} package.}\end{align*}
2. 公式中的粗體
向量一般用粗體小寫字母表示,矩陣一般用粗體大寫字母表示。按上述規則應該斜體,但我看到的用非斜體表示的例子也很多,可能是因為LaTeX裡打出斜的粗體字相對比較麻煩(可以用下面的方法,會比\boldsymbol好看[6]:
\usepackage{bm}\bm{x} % in document兩種在latex中表示向量和矩陣的方法
結語
由於我沒有更多東西寫了,這篇文章到這裡就草草結束遼。以上內容也許仍有一些錯誤,還請大家發現以後向我反饋。感謝大家忍耐了這麼難看的排版一路看到這裡。
參考文獻
[1] Childhood Chen. 引:關於字體和排版. https://zhuanlan.zhihu.com/p/24434632
[2] Childhood Chen. 一:「襯線」. https://zhuanlan.zhihu.com/p/24434632
[3] Childhood Chen. 二:真假「斜體」. https://zhuanlan.zhihu.com/p/25022761
[4] Childhood Chen. 三:「連接」·詞. https://zhuanlan.zhihu.com/p/25345597
[5] IUPAC關於公式中羅馬體和義大利體(斜體)使用的說明. https://iupac.org/cms/wp-content/uploads/2016/01/ICTNS-On-the-use-of-italic-and-roman-fonts-for-symbols-in-scientific-text.pdf
[6] StackExchange: bm package vs boldsymbol. https://tex.stackexchange.com/questions/3238/bm-package-versus-boldsymbol
最後,言歸正傳(WHAT?
請想打賞我的盆友們掃碼打賞一下我團
或者點擊閱讀原文了解更多《Paca II》信息
哈哈哈哈哈哈哈打擾了 感謝大家!