我看過很多關於排版單元的不同包及其相對優點和缺點的帖子。大多數帖子似乎都同意該siunitx
包是最新的包,但我根本沒有真正弄清楚使用包的優點。寫這樣的東西有什麼好處:
\SI{10}{\kilo\gram\meter\per\second\squared}
當你可以寫:
kg m s$^-2$
或者對於數字來說,有什麼區別
\num{10}
和
10
答案1
我想到這個問題時想:“是啊!為什麼?”但在閱讀了當前現有的評論和答案後,我已經改變了我的態度,現在傾向於另一種方式。考慮到它以及我與這個包的小交互,我意識到它提供了幾乎相同的服務之內LaTeX 作為 LaTeX(或甚至只是 TeX 本身)提供了一個整體的寫作能力。要理解這一點,請考慮透過計算機以書面形式傳達一些數學的替代方案:
照原樣照音寫。當然,單字就是單詞,但希臘字母是拼寫出來的,或者可能是用一些特殊的ASCII 藝術繪製的,更複雜的公式以一種未指定的方式組合在一起,從上下文中可能會或可能不會清楚。
用TeX 編寫,其中希臘字母以宏的形式拼寫出來,更複雜的公式以某種可能很糟糕的方式拼湊在一起......然後結果被“編譯”到一個文檔中,使其看起來就像您所想到的那樣,因此,如果您的來源比您希望的更示意性一點,也沒有什麼壞處。
該siunitx
包正是這樣做的,但它不是數學公式,而是 SI 風格的單位。當然,人們可以寫出通常出現在這樣的單位中的相同符號,例如kg
或s$^{-1}$
,但是根據該單位是否出現在數學模式中,這在視覺上很容易出錯(想像一下這如何影響後者!),或者如果有幾個單元變得擠在一起,或者(egreg 的相當有效的觀察)跨過一條線。然後您可能會決定,s$^{-1}$
您真正想要的/s
不是赫茲單位,而是需要全域更改符號。
這些問題都是在 TeX 中透過定義包含您首選樣式的巨集來處理\kilogram
的\hertz
。 justsiunitx
組織了定義這些巨集及其相互關係的整個項目,並在此基礎上提供了許多美學選項。
基本上,它可以歸結為“為什麼有人首先想要對他們的文檔進行編程?”,答案是“用這種方式編寫結構良好的文檔更容易。”
答案2
請容許我以一個實際軼事的形式給出答案:
當我寫化學博士論文時,每一章要么已經發表在同行評審的期刊上,要么即將提交給同行評審的期刊。每一章都是在幾年的不同時間寫成的,當然每個期刊都有自己的標準,例如數字和單位之間是否應該有空格,倒數單位是否應該以分數或指數形式給出,除此之外面,當我只是輸入單位時,有時我會添加一個空格,有時我不會,所以最終做了很多校對來捕捉這一點,直到我點擊siunit
,然後點擊siunitx
。
透過將單位轉換為宏,我減少了一個必須擔心的格式問題,當我獲取本章正文時,我只需使用期刊的樣式包和正確的參數siunitx
(或者,如果期刊不支持,請對序言中的宏進行硬編碼),並且所有單位和數字都會自動正確格式化。當我需要將它們放入我的論文時,我只需在標籤\input{}
後添加文本正文\chapter{}
,並且我的所有章節都按照我的大學論文標準進行格式化,沒有大驚小怪,沒有混亂。同時,我那些使用 Word 的朋友們花了數週時間,有時甚至月除了重新格式化和校對以保持一切一致(大部分時間都花在方程式、圖形和參考編號上,我從未再考慮過)。
事實上,包含宏定義的檔案最終幾乎和我的章節一樣長,因為每次我有一個數學符號(上標、下標、粗體等)時,我都會創建一個具有描述性名稱的宏,這樣就不會只是更容易校對,但如果由於某種原因我必須更改符號或變量,我只需更改一次。單位的想法相同。如果一切都是宏,如果您需要更改某些內容,則只需更改一次,並且該更改會在整個文件中傳播,而無需擔心。
答案3
答案4
使用套件的優點是您可以以一致的排版方式設定數字和單位。有時您必須\,
在數字和單位之間使用空格 ( ),有時則不需要。包裹siunitx
了解這一點並自動為您做正確的事情。