為什麼這篇蔡炎龍ptt鄉民發文收入到精華區:因為在蔡炎龍ptt這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者LSC112233 (LSC)看板LaTeX標題Re: [請益] 求蔡炎龍教授寫的CJK安裝方法...
蔡炎龍ptt 在 魏維 Wei Wei Instagram 的精選貼文
2021-09-03 18:32:02
很久沒發文了,因為闌尾炎引發了菌血症,近期手術在醫院兩個星期,身體好了許多,機智醫生生活說:「即使我明天會死,我也想動過手術後再死,就算只能再活一天,我也想要活得像個人再死。」沒有人知道明天會發生什麼事情,每次生病都有它的意義在,現在能健康的起床就覺得好幸福。 第一年是時候了,第二年演變成聯盟間的...
※ 引述《[email protected] (蒙古大夫 2.0)》之銘言:
: ※ 引述《[email protected] (回憶真美麗)》之銘言:
: > → sanhsia:傻瓜才需要那東西
這句確實很難聽,但我既不同意也未曾說過。
: XeLaTeX 裡頭本就有融入 CJK 的東西!
第一次看到這樣的說法,願聞其詳?
如果指得是 xeCJK 有融入 CJK 的東西,那當然完全正確。
: > → CCY0927:老實講,我想不出執著於CJK的理由
這是我完全同意的!如果沒有特別原因,真的找不到執著於CJK的理由。
: XeLaTeX 使用中文同樣要一堆外加的指令。
XeLaTeX + fontspec + xeCJK,如果知道如何設定,打中文完全不需外加指令!
因為 xeCJK 是依照字符的內碼來分辨是否為中文?內碼的範圍也完全可以由使
用者自訂。而且所有修飾字體的指令,像是 \itshape 等等,都可以正常運作。
這樣做的好處是,對於編輯來說,只要設定一次,然後在編譯前引入設定檔,
就可以保證完成的稿件用的是自己想要的字體。
而對作者來說,不須常常使用 \begin{CJK... 和 \end{CJK... ,寫文章的時候
不也輕鬆許多?
: 用 cjk 的理由是:
: 1. 有些人使用中文只是一小部份,所以使用環境就可以解決。
: 2. 使用 Type 1 字型,造字方便,他一個字型檔很小。
: 3. 虛擬字型使用上彈性較佳。
: 其實,以前我就寫過一篇文章(最近 blog 檢修,正停擺),沒有中文系
: 統(指 TeX/LaTeX),如何排版中文?用 Type 1 就可以把字型檔附上(
: 因為檔案很小),收稿單位就可以自行編譯了(有些收稿單位要收原始文
: 稿,你編譯成 ps/pdf 他們不收,而他們可沒有中文字型可以編譯)。
老實說這些理由我都持保留態度。
假設今天寫一篇只會用到"你今天好嗎?"這幾個中文字的文章;
作者又是非常熟悉中文編碼規則的專家。考慮到對方沒有相對應的中文字型,
所以他會把包含這幾個字的 pfm 和 pfb (或者UNIX上的 afm+pfa,
Mac的FOND+POST)以及原稿寄給對方。
甚至還可以做得更完美!透過修改 encoding 檔,可以把這些字集中
在一個 pfb 檔案裡。
整個過程確實小而美。
但是,如果作者只是個一般使用者呢?那他必須先找出這幾個字對應的內碼,
然後搜尋 encoding 檔案,找出正確的 pfb。
這工程似乎太大了點吧?
所以最好最安全的選擇,就是把所有的字型相關檔案一起打包寄過去。
以 bsmiu 這個明體 unicode 字型為例,所有的 pfb 加起來 8.91MB,
而XP內附的新細明體 8.41MB!(這確實是 unicode 字型,支援 big-5 其實是
作業系統作出的假象。)對一般使用者來說,Type 1字型真的比較小?
此外,一套字型如果常常讓人必須使用造字功能,我的看法會是:
1.這字型的設計不佳。
2.這字型不適合他用,得找另一套。
用我們的稅金做出來的 全字庫正宋體 和 正楷體 基本檔裡包含39xxx個字符,
如果有缺字,還可以跟他們要造好的擴充檔。目前這套字已經完成了
unicode 5.0 之前的所有造字工作。可以說除了古籍研究者外,
一般人大概很難遇到需要造字的機會。更不用說這是免費的。
當然,如果想用一些特別的書法字體,確實很可能需要造字。
不過,對於這種字體,一般人能很快學會如何造出想要並協調的字符?
現在的作業系統都支持 unicode 和多國語言,如果對方沒有中文系統,
我的選擇會是把免費中文字型的網址寄給他,請他自行下載安裝。
這樣一來,只要在編輯器做一些設定,他打開原始檔,中文部分也看得到,
更不用說用 XeLaTeX+xeCJK 編譯的問題了;而用你描述的方法,
打開原始檔,中文部份會是亂碼。
我承認在作業系統沒更新且 XeTeX 沒設計出來前,CJK+Type1 確實是
很好的解決方案;現在既然有簡便的方法,繼續支持舊方案的理由
恐怕會越來越難成立。
: > 推 LSC112233:完全同意樓上!XeLaTeX實在方便好用。
: 我沒有反對使用 XeTeX/XeLaTeX 的意思,但也不應該把別人的選擇權給
: 說得那麼難聽。想當初的 Omega/ConTeXt 現在呢?TeX 新引擎的話,還
: 有一個 LuaTeX 在後面排隊等著(如果大家都滿意 XeTeX 了,又何需另
: 外開發出 LuaTeX 呢?)。
再次聲明,我並沒說什麼難聽的話。
XeTeX 最初的設計目標是希望能讓 TeX 系統也可以使用 Mac 上面
的 AAT 字型很多較新的功能。之後這些新功能也大多整合進 OpenType 的標準裡,
所以 XeTeX/XeLaTeX 才會從 Mac 上延伸到其他作業系統。
至於核心部份,除了字型處理外 XeLaTeX 基本上和 LaTeX 完全相同。
多數 LaTeX 原始檔,不需修改就可以直接用 XeLaTeX 編譯。
由於要支援新字型標準,XeTeX 核心必須直接支援 PS 和 EPS。
(因為無論 TrueType 或 OpenType,字符都是用 PS 完成的。)
所以當我們要使用 EPS 或 PS 圖檔時,XeTeX/XeLaTeX 可以直接使用,
不必像 LaTeX 要先轉成 dvi 再轉成 ps 或 pdf。
Omega 沒用過不討論;至於 ConTeXt,當初的設計目的是讓非技術人員有個比較
友善的編輯介面。實際上ConTeXt 並非編譯引擎,它必須配合 pdfTeX/XeTeX/LuaTeX
三者之一來使用;頂多算是編譯引擎的前置處理器。
至於 ConTeXt 的發展狀況,如果有持續更新 MikTeX 2.9,會發現系統內建
的編輯器裡的快速編譯選項, plainTeX 不見了,多了三個 ConTeXt 相關的選項。
當然這也許不算什麼,但目前如果想試驗 LuaTeX 的功能,ConTeXt 是最佳選擇。
LuaTeX 是為了讓套件設計者有個更友善的介面環境。必須承認,用 TeX/LaTeX
指令來設計較複雜的功能實在非常繁瑣!LuaTeX 就是想解決這個狀況。
如果說 LuaTeX 團隊不滿意 XeTeX,也僅在於功能擴充這方面;
否則他們不會把 XeTeX 的字型處理能力幾乎完全包含進來!
(兩者最大不同就在 XeTeX 會取用系統字型庫,LuaTeX 則讀取獨立的字形庫。)
: > 不好意思,我是Latex中文的初心者
: > 那時候為了要用Latex的排版打一篇中文報告大約摸索了三天
: > 關於現在使用CJK中文的好處,有一點心得
: > 以下如果有甚麼錯誤的地方,還請指正:
: > 我想,現在follow蔡教授的方法以CJK灌CWTEX五套字體的好處是
: > 可以直接使用CWTEX的五套字體(其中的明體我覺得還蠻好看的,適合正文使用)
: > 並且可以直接選擇這五套中文字體的全形標點符號,要"置中"或是"置於左下角"
: 這就是利用虛擬字型的例子,虛擬字型是使用原字型做一些細微的改變,
: 所以佔空間很少。
事實上 unicode 標準裡中文標點符號有兩套:置中和靠左靠下。
、 0x3001 、 0xFF64
, 0xFF0C ﹐ 0xFE50
; 0xFF1B ﹔ 0xFE54
。 0x3002 。 0xFF61
? 0xFF1F ﹖ 0xFE56
! 0xFF01 ﹗ 0xFE57
: 0xFF1A ﹕ 0xFE55
「 0x300C 「 0xFF62
」 0x300D 」 0xFF63
標準已經存在,字型也造好了(新細明、標楷、全字庫…都有),
使用者很難取用,這是輸入法設計者沒考慮到這種需求!
不過在 LaTeX 環境下,幾個巨集就可以解決。
: > 這點是如果是使用原本CWTEX系統做不太到的(除非要自訂符號代號與符號位置)
: > 而XeLaTeX不用另外灌中文字體,是因為它可以直接抓作業系統內的中文字形(我是用win7)
: > 所以不用另外灌中文字體
: > 如果您沒有要用到CWTEX的中文字體的話,那的確是直接用XeLaTeX就好了
: > (畢竟CJK、XeLaTeX都只是Latex的一個package,排版語法和Latex完全相同,而XeLaTeX
: > 少了一個要灌字體的動作)
: > 但是如果您要使用XeLaTeX使用CWTEX的五套中文字體的話
: > 作業系統有這五套,也就是您需要幫您的作業系統灌CWTEX中文字體
: > CWTEX中文字體並不是抓不到,灌也非常簡單,只要把字體檔貼到C:\Windows\Fonts
: > 路徑下即可
: > 但是,用這個方法,就沒有辦法自己選擇全形標點符號要"置中"或是"置於左下角"了!
: > 因為字體的關係是設在置於左下角
: > 除非和CWTEX系統一樣要自訂符號代號與符號位置並用此符號代號來取代全形標點符號
: > 否則是要全形標點符號要"置中"是做不到的
: > 對我這種想要用CWTEX中文字體,又希望全形標準符號置中的使用者
: > follow蔡教授方使灌CWTEX字體使用CJK package還是有它的優勢的
: > 我不知道我這樣講有沒有錯
: > 也許有另外方法可以做到但是我不知道,有錯請指正,謝謝 ^^
: cjk 的定位本來就是 pacakge,只是許多人把他想成是中文 LaTeX。
我的結論還是:每個人都有選擇自由,但我個人真的很難找到繼續
使用 LaTeX+CJK 的理由。
以上,有錯歡迎指正!
--
★kittyxxx 我打電話叫我男友來接我,他居然說他正在和公會出團坦巫妖王>.<
To kittyxxx: 所以他遲到了多久?
★kittyxxx 沒有遲到,我一發脾氣他就馬上出來了^_^
To kittyxxx: 妳這個女人!妳根本不知道他有多愛妳!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.173.120.125
※ 編輯: LSC112233 來自: 1.173.120.125 (04/07 01:44)