
我已經使用 LaTeX 來排版數學文檔幾年了,但我感覺有兩種「類型」的乳膠:一種是我寫文檔的,一種是寫包的。
我的目標不是寫一個包,而是嘗試自己解決問題。我經常發現自己在尋找我面臨的每個問題的解決方案,而答案總是涉及我正在談論的這種語法,充滿了@
s 以及諸如\expandafter
, \makeatletter
, \makeatother
,之類的東西\catcode
。由於看不懂,所以就盲目抄襲了。
學習這種不太基礎的乳膠知識有哪些推薦資源?
答案1
閱讀 TeXbook。你必須付費,但它是值得的:它不僅完全完整(甚至比 mafp 在評論中推薦的 TeX By Topic 更完整),而且它是一本指導手冊,而不是參考手冊。它有一個缺點:除了實際的基本 TeX 語言之外,它還記錄了純 TeX 格式,並且完全忽略了 LaTeX 和其他格式(這是理所當然的)。不幸的是,它沒有明確區分 TeX 的內建功能和格式定義的功能,而 TBT 則明確區分(完全不涉及格式)。實際上,這意味著您應該瀏覽一次正文,然後將重點放在危險的彎曲內容上,這是參考材料。
我聽到有人抱怨 TeXbook 太囉嗦或寫作風格很差。事實上,它有自己的風格,這確實讓它受到了這樣的批評,但也使它有可能在直覺的層面上與讀者互動。如果您的直覺與 Knuth 的不同,也沒有什麼可恥的,但 TeX 是一種極其難以理解的語言,因此欣賞其創建者略顯古怪的想法可能會有所幫助。
答案2
LaTeX2e 很難編程;我建議您使用 LaTeX3 格式的實驗版本。要加載它,您所需要的只是
\usepackage{expl3}
並且文件可通過texdoc expl3
和獲得texdoc source3
。