中文字體和西文字體中全等號「≌」上半邊為什麼是反的?但相似號「∽」卻是統一的,然而拉泰赫卻只有「~」?
中學教科書中,「≌」使用的是中文字體,上半邊是放倒的「S」,和很多網站上使用的字體顯示的是反過來的。網上搜索發現在外留學的學生也有發現類似問題。
同時「∽」這個符號在中文和西文字體中卻是一致的,可拉泰赫中又只有「~」而沒有「∽」。
於是在這裡想求教一下國外到底是如何使用全等號和相似號的,以及造成國內國外符號差異的歷史原因。
Unicode 字元的問題比較容易解答。
這個符號 ∽ 的編碼為 U+223D 叫做 REVERSED TILDE,顧名思義,它一定是反的。和它對應的是它之前的符號 U+223C,~,叫 TILDE OPERATOR。此外還有鍵盤上直接能打出來的符號 U+007E,即 ~,叫做 TILDE。不僅如此,還有一個 U+223E,叫 INVERTED LAZY S,符號為 ?。在設計良好的數學字體(STIX)中,它們應該是這樣:
題目中給出的全等符號,編碼為 U+224C,叫 ALL EQUAL TO ≌。它和編碼為 U+2245 的 APPROXIMATELY EQUAL TO ? 不是一個符號。
當然,如果你的字體中,U+224C 的形狀與 U+2245 一樣,那應該是字體設計師搞錯了。
典型的中文字體只有少量數學符號,在上面的這些符號中,除了鍵盤上的 U+007E 外,就只有 U+223D 和 U+224C,也就是我們在中學課本常見的樣子:
而典型的普通英文字體中,上述數學符號都是沒有的。
TeX 相關的問題複雜一點。TeX 比 Unicode 要早得多了,TeX 中的符號不一定在 Unicode 中有編碼,反之 Unicode 編碼的符號也不一定在傳統 TeX 符號字體中。當然,今天的 TeX 也可以使用 Unicode 編碼的 OpenType 數學字體。
在書中用什麼符號表示一個概念,其實作者是有很大自由度的。例如小於等於號就同時有 ≤、?、≦、? 等等諸多寫法,在 Unicode 中這些符號甚至還給了不同的編碼,但其實意思都一樣。中國的中小學教材以往都是統一編寫,小於等於號都用 ? 這個符號,有些人因此就特別不接受其他寫法,但真正看的數學文獻多了就會知道其實什麼寫法都有,都沒有問題。
相似、全等的符號也是如此。TeX 中的命令 cong 就是全等 congruent 的縮寫,它是這樣的 。而 sim 是相似 similar 的縮寫,它是這樣的 。所以至少對於 CM 字體的作者,美國數學家 Knuth 來說,全等和相似符號就是這樣用的。
下面我隨便找了兩美國幾何教科書,截圖看看。首先是一本面向大學生的書 Thinking Geometrically: A Survey of Geometries, Sibley, 2015:
然後是一本面向中學生的書 Geometry: The Easy Way, 3ed, Leff, 1997:
前一本書就是用 LaTeX 排版的,而後一本書看風格則大概不是用 LaTeX 排版的。
無論如何,作者是多變的。TeX 軟體的商標交給了美國數學會,那麼就需要滿足不同作者的習慣。所以 AMS 的字體包除了有 sim 命令,還有 acksim 命令,它是這樣的 。AMS 字體也不是符號最多的字體,sim 可以對應 acksim,那麼 cong 有沒有對應的 ackcong 呢?也有的,MnSymbol、fdsymbol 字體包就有這些符號,可以適應這些作者的要求。
再深究一點,你以為 cong 是一個符號?其實在 LaTeX 中,它就是用 sim 和 = 拼出來的。cong 的定義其實是:
DeclareRobustCommand
cong{mathrel{mathpalette@vereqsim}} % congruence sign
def@vereq#1#2{lower.5p@vbox{lineskiplimitmaxdimenlineskip-.5p@
ialign{$m@th#1hfil##hfil$crcr#2crcr=crcr}}}
所以即使不使用特殊的字體,也可以直接利用這個現成的內部命令 @vereq 拼出一個 ackcong 來:
makeatletter
DeclareRobustCommandackcong{mathrel{mathpalette@vereqacksim}}
makeatother
比較一下:
傳統 TeX 字體中並沒有 U+223E(INVERTED LAZY S)的對應符號,只有新近的 Unicode 編碼的數學字體才有(如 stix)。這個符號與等號拼起來,更接近國內中學教材的全等號寫法。
(PS:上面是直接在知乎的公式編輯器定義宏寫出來的,沒想到知乎的公式編輯器後台就是完整的 TeX。)
推薦閱讀: