2019年8月24日 星期六

LaTex 對 Unicode 的支援

LaTex 有無支援 Unicode? 這個問題對我而言不重要,因為我們都是用 LaTex寫英文論文,不會用到 Unicode。

最近接手改寫已畢業學生的碩士論文,他是用 LaTex 寫的。編譯過程中出現下面這樣的錯誤訊息


看樣子是文檔中嵌入了不該有的Unicode。這個 LaTex 檔案在學生使用的MAC電腦是可以正常編譯的,在我另一台PC的 MiKTex 也可以過,但是在我筆電的 MiKTex 上就會出現上述的錯誤訊息而停止編譯。

同樣版本的MiKTex有些可以過有些不行, 應該是缺了某些 package 的緣故。我決定不管這些,手動去把論文中的 Unicode 抓出來改掉。有些 Unicode 是很明顯的,像下面這個顯然就是誤用到全形的英文字型。


這種例子很容易修正。不過還是有些 Unicode,不管我怎麼找都找不出來。後來動用最笨的程式除錯的方式,在論文中加入 \message{} 在螢幕輸出訊息,終於找到最會躲藏的 Unicode。

上面這張截圖中,上方的減號(-)是LaTex認得的正常的符號,下方的減號是 Unicode,在某些版本的LaTex是無法編譯的。LaTex 的錯誤訊息沒有辦法提供太多線索,讓我花了不少時間才找出來。在此紀錄一下,免得下次再犯同樣錯誤。