為什麼要使用包來排版單元?

為什麼要使用包來排版單元?

我看過很多關於排版單元的不同包及其相對優點和缺點的帖子。大多數帖子似乎都同意該siunitx包是最新的包,但我根本沒有真正弄清楚使用包的優點。寫這樣的東西有什麼好處:

\SI{10}{\kilo\gram\meter\per\second\squared}

當你可以寫:

kg m s$^-2$

或者對於數字來說,有什麼區別

\num{10}

10

答案1

我想到這個問題時想:“是啊!為什麼?”但在閱讀了當前現有的評論和答案後,我已經改變了我的態度,現在傾向於另一種方式。考慮到它以及我與這個包的小交互,我意識到它提供了幾乎相同的服務之內LaTeX 作為 LaTeX(或甚至只是 TeX 本身)提供了一個整體的寫作能力。要理解這一點,請考慮透過計算機以書面形式傳達一些數學的替代方案:

  1. 照原樣照音寫。當然,單字就是單詞,但希臘字母是拼寫出來的,或者可能是用一些特殊的ASCII 藝術繪製的,更複雜的公式以一種未指定的方式組合在一起,從上下文中可能會或可能不會清楚。

  2. 用TeX 編寫,其中希臘字母以宏的形式拼寫出來,更複雜的公式以某種可能很糟糕的方式拼湊在一起......然後結果被“編譯”到一個文檔中,使其看起來就像您所想到的那樣,因此,如果您的來源比您希望的更示意性一點,也沒有什麼壞處。

siunitx包正是這樣做的,但它不是數學公式,而是 SI 風格的單位。當然,人們可以寫出通常出現在這樣的單位中的相同符號,例如kgs$^{-1}$,但是根據該單位是否出現在數學模式中,這在視覺上很容易出錯(想像一下這如何影響後者!),或者如果有幾個單元變得擠在一起,或者(egreg 的相當有效的觀察)跨過一條線。然後您可能會決定,s$^{-1}$您真正想要的/s不是赫茲單位,而是需要全域更改符號。

這些問題都是在 TeX 中透過定義包含您首選樣式的巨集來處理\kilogram\hertz。 justsiunitx組織了定義這些巨集及其相互關係的整個項目,並在此基礎上提供了許多美學選項。

基本上,它可以歸結為“為什麼有人首先想要對他們的文檔進行編程?”,答案是“用這種方式編寫結構良好的文檔更容易。”

答案2

請容許我以一個實際軼事的形式給出答案:

當我寫化學博士論文時,每一章要么已經發表在同行評審的期刊上,要么即將提交給同行評審的期刊。每一章都是在幾年的不同時間寫成的,當然每個期刊都有自己的標準,例如數字和單位之間是否應該有空格,倒數單位是否應該以分數或指數形式給出,除此之外面,當我只是輸入單位時,有時我會添加一個空格,有時我不會,所以最終做了很多校對來捕捉這一點,直到我點擊siunit,然後點擊siunitx

透過將單位轉換為宏,我減少了一個必須擔心的格式問題,當我獲取本章正文時,我只需使用期刊的樣式包和正確的參數siunitx(或者,如果期刊不支持,請對序言中的宏進行硬編碼),並且所有單位和數字都會自動正確格式化。當我需要將它們放入我的論文時,我只需在標籤\input{}後添加文本正文\chapter{},並且我的所有章節都按照我的大學論文標準進行格式化,沒有大驚小怪,沒有混亂。同時,我那些使用 Word 的朋友們花了數週時間,有時甚至除了重新格式化和校對以保持一切一致(大部分時間都花在方程式、圖形和參考編號上,我從未再考慮過)。

事實上,包含宏定義的檔案最終幾乎和我的章節一樣長,因為每次我有一個數學符號(上標、下標、粗體等)時,我都會創建一個具有描述性名稱的宏,這樣就不會只是更容易校對,但如果由於某種原因我必須更改符號或變量,我只需更改一次。單位的想法相同。如果一切都是宏,如果您需要更改某些內容,則只需更改一次,並且該更改會在整個文件中傳播,而無需擔心。

答案3

TeX與、和 Friends的所有其他組件一樣LaTeX,其想法是將內容與形式分開

我們希望在序言中全域指定更改,而不用擔心文件中的細節。

類似問題:

  • 為什麼我們不寫\textbf{1. Introduction}而不是\section{Introduction}
  • enumerate當我們只能寫(a)、等等時(b),為什麼要使用環境?(c)
  • 為什麼我們選擇將圖形製作為LaTeX(使用tikzpstricks例如)什麼時候我們可以在外部製作它們並只包含它們?
  • 我們為什麼要使用biblatex (和其他參考書目包)來組織我們的參考文獻 - 難道我們不能自己按正確的順序輸入它們嗎?

答案4

使用套件的優點是您可以以一致的排版方式設定數字和單位。有時您必須\,在數字和單位之間使用空格 ( ),有時則不需要。包裹siunitx了解這一點並自動為您做正確的事情。

相關內容