使用 LaTeX 排版是否應該語義化所有用到的符號

時間 2021-05-29 22:21:38

1樓:

語義化可能有不同的目標:

為了簡化輸入。

例如用 \abs 輸入絕對值符號(相較於 \left\lvert ... \right\rvert)。physics 巨集包提供的巨集,多屬於此類。

但能簡化輸入的,不是只有語義化。輸入法、編輯器、非語義化的 latex 巨集,都能簡化輸入。

為了便於人理解。

這裡的人可以是輸入者自己,也可以是其他人。

一些例子是,表示取複數的實數和虛數部分的\Re 和 \Im。沒有語義化之前,它們是 \mathfrak 和 \mathfrak。

用西文命令名時,語義化不一定總能便於理解。(支援 unicode 的引擎,也預設支援中文巨集名,例如 \實數,但這可能要求頻繁的輸入法切換,一種解決方案是讓編輯器支援拼音自動補全)

過度的語義化、引入太多巨集,可能適得其反。完全的語義化相當於把乙個公式讀出來,這對於僅僅排版複雜的式子,是不合算的。

乙個反面例子,對矩陣 M,用 M^T 和 M^ 輸入它的轉置和逆,已經夠好了。語義化後,可能變成 \transpose 和 \inverse,不一定更好。 但如果需要 M^} 之類的樣式,比較起來\transpose 或 \M^\transT 就沒那麼「重」了。

為了便於機器理解。

還能繼續細分,為了讓機器更好地排版(@G Grindelwald 的回答側重的就是這個角度)、更好地計算(式子的結果)、更好地比較和分析。

人在學習如何輸入時,學的主要是這個角度的語義。

如果一定要有正面回答,在手動輸入時,不應該語義化「所有」的符號,也沒有對每個人、每種情況都適用的「度」。能用就行。

還要考慮到,LaTeX 裡的巨集定義,MathJax 等前端庫不一定都支援。一種居間的方案是,在輸入的時候,可以隨手定義巨集來簡化和便利輸入過程,然後用工具通過部分展開,把這種輸入還原到常用命令。這只是乙個設想,還沒有這樣的工具。

在使用 LaTeX 排版時,如何使用 (振假名)?

振假名標註實現得最好的是 LuaTeX ja 巨集包 CTAN Package luatexja 的外掛程式 luatexja ruby TeX encoding UTF 8 TeX program LuaLaTeX documentclass usepackage usepackage ltjse...

使用memcache是否應該關閉mysql的cache快取?

hasaki MySQL的老版本中確實有快取,這樣一模一樣的請求過來,直接查詢快取就行了。但是,MySQL伺服器並沒有人聰明,如果兩個查詢請求在任何字元上的不同 例如 空格 注釋 大小寫 都會導致快取不會命中。另外,如果查詢請求中包含某些系統函式 使用者自定義變數和函式 一些系統表,如 mysql ...

人類是否應該停止使用塑料?

開心的大大 想象下,只是乙個日常生活場景。你穿衣服如果不是動植物的,你日常生活中晃動一下你的衣服就會有纖維和顆粒漂浮出來,然後呼吸它。你的被子是動植物材料製程的麼?掀開被子,蓋上被子, 小馬 不會苦口婆心,直接懟 拉開架勢了又覺得索然無味,這問題甚至不是24小時內,在知乎上看到的最扯淡的東西。你是否...