LaTeX 板


LINE

※ 引述《laicc0225 (laicc)》之銘言: : 各位tex玩家好....我想問一下怎樣可以排版日文呢?? : 我想以tex的功能應該可以吧...最好是同時能排版日文及中文和英文這三種... : 需不需要額外抓其他套件呢?? : 我目前在chitex測試是無法顯示出來...但是不會發生error... : 另外winedt(不確定正確名稱)我這一兩天在適應中...不確定有沒有... : 所以請版上的人幫忙回答一下我的問題...謝謝.... 哎﹐我挖一下墳啊﹐這個問題原 po 和底下的推文都沒有解決﹐我就稍微詳細地說一下 好了。 TeX 本身隻有 8 位(最早是 7 位﹐後來擴展到 8 位)﹐所以原生的 TeX (通常稱為 Knuth TeX)是不能直接支持除掉英文之外的字符的。所以﹐如果想要在 TeX 文檔中輸 出非英文字符﹐就必須做兩件事情﹕ 1. 選擇合適的編碼(比如中國大陸地區的 GBK, 中國台灣地區的 Big5)讓 TeX 能讀懂 2. 選擇包含有所需字符的字體 對於非東亞文字﹐這其實也算不上復雜。畢竟拼音文字也就那麼一些字母﹐多少不會超過 2**8=256 個字符。所以對於非東亞文字來說﹐這個工作基本上由 inputenc 等幾個套件 就能解決了。 但是東亞文字太多﹐比如漢語常用字就有三千多﹐遠遠超出了 2**8 的范疇﹐更別說還有 不少不常用的字了。 因此我們陷入了困境﹐而走出困境唯有兩個辦法﹕ 1. 讓 TeX 能讀懂更多的字符 2. 把字體文件分為若幹區塊﹐每個區塊隻有 256 個字符﹐再讓 TeX 懂的如何尋找區塊 和區塊中間的字符 Knuth 老爹當時的建議是采用第二個方法(畢竟它不希望自己的 TeX 做改動)﹐當時中 文 TeX 社區使用的也就是這個方法。比如 CCT (中科院張林波)﹐又比如天元(華東 師范大學陳志傑)﹐以及各位可能很熟悉的 CJK (德國人)。 這種解決方案我們用了很多年﹐各位想必對他們也有無數的怨念。弊端是很明顯的﹕ * 可能需要在編譯之前進行預處理 * 一旦編譯出錯﹐出錯信息變得完全不可讀 * 字體分區安裝極為復雜 以上是中文的情況﹐實際上日語韓語泰國語的情況也大致相仿。 CCT 和天元我不熟悉﹐但是 CJK 還有一個並不顯而易見的弊端﹕ CJK 並沒有將編碼和語言區分開來(比如使用 GBK 就是中文簡體﹐使用 Big5 就是中文 正體)﹐這樣一來﹐一旦指定編碼﹐語言也就指定了。於是﹐如果有人像原 Po 那樣希望 同時排版中文和日文﹐CJK 就隻能幹瞪眼了。 Knuth 老爹也不是萬能的﹐這些弊端他並沒有完全預見到──畢竟他不適用這些文字。索 性﹐終於有 TeX 引擎嘗試走第一條路﹐他們是 XeTeX 和 LuaTeX. 這兩個引擎都直接支 持 Unicode 編碼﹐並能夠直接使用系統中的字體文件。於是之前說的那些弊端都消失。 ----------------------- 我們回到中日文混排上來 ----------------------- 前面說了﹐要讓 TeX 排除東亞文字﹐一是要讓 TeX 能認識相應編碼﹐二是要選擇合適的 字體。編碼問題引擎已經幫我們解決﹐一個 Unicode 編碼能覆蓋所有東亞文字。剩下的 就是解決字體問題。 前文說過﹐XeTeX 和 LuaTeX 都能直接調用系統字體。於是就有人開發了相關套件 * xeCJK for XeTeX * LuaTeX-ja for LuaTeX 我們能使用這些套件方便地切換字體。於是剩下的工作就是為他們挑選合適的字體了。 簡體中文 Windows 系統下安裝的中易宋體(SimSun.ttf)內就包含有日文字符﹐因此我 們選用這個字體即可(正體中文系統我沒有使用過﹐所以很抱歉我不能給出一個直接的 例子)。 這是 XeTeX + LaTeX + xeCJK 的一個例子﹕ \documentclass{minimal} \usepackage{xeCJK} \setCJKmainfont{SimSun} \begin{document} 這裡是中文。 □□□日本□ \end{document} 【抱歉﹐日語假名貌似顯示不出來】 然而﹐xeCJK 是中國大陸的孫文昌教授開發的(現在的維護者是劉海洋和李清)﹐他們對 日語並不太了解。所以有關日語的禁則、標點壓縮等工作﹐xeCJK 做得並不太好。所以﹐ 如果要排版日語﹐我更推薦日本 TeX 社區的 LuaTeX-ja. 不過因為這個套件是基於 LuaTeX 的﹐而 LuaTeX 在 Windows 系統下運行非常緩慢(字體太多的緣故)﹐所以請慎 重使用。 \documentclass{minimal} \usepackage{luatexja-fontspec} \setmainjfont{SimSun} \begin{document} 這裡是中文。 □□□日本□ \end{document} 以上兩份代碼保存為 UTF-8 編碼之後﹐分別使用 XeLaTeX 和 LuaLaTeX 編譯即可得到 結果。 ---------------------- 再來一個題外話 ---------------------- 中國和日本﹐很多古籍都是使用豎排進行書寫的。TeX 對此的支持並不好。解決這個問題 的方法同樣有兩個 1. 選擇一個直接支持豎排的引擎(比如日本的 e-upTeX) 2. 構造一個合適的套件 我在 XeTeX + LaTeX + xeCJK 的支持下﹐有過豎排的一些經驗﹐並且實現了所謂割注。 然而﹐這一技術還不成熟﹐所以如果有感興趣的同好﹐我們另開帖子交流吧。 : ) -- 來自萌氣四溢的 M 君~ --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 183.217.24.14







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP