小梅子碎碎唸

OIKOS 推薦活動王子新書-偷窺12星座的男人Deray 單車橫跨亞歐大陸
OIKOS 共同主題Podcast 網路廣播Widget , Dashboard 模組OSX 上跑 WiniPhone 手機




訊息快報

‧你是蘋果的新用戶還是 OIKOS 的新朋友?假如你不知道去哪問問題,這裡是你第一個可以看看問問的地方喔。

#1 2005-04-15 16:49:45

yenlung
好朋友
註冊日期: 2005-02-09
文章數: 417

最佳中文LaTeX解決方案-XeTeX!!



最近發現 XeTeX 處理中文的解決方案,這大概讓 XeTeX 成為最易安裝,最有彈性的中文 LaTeX 解決方案。

老手們大概已經知道 XeTeX。它的最大好處是讓 LaTeX 可以處理包括中文的 Unicodes,而且使用「你在麥金塔中原有的 True Type 和 Open Type 字形」,不用特別安裝字形!

(需要安裝字形是中文 LaTeX 很令人頭痛的地方。即使你真的會裝,也是一個不怎麼愉快的過程。最後你只好將就就用那些你其實也不那麼滿意的字形。)

這有什麼好處呢?這就讓我們可以用 Mac 的字形,讓 LaTeX 編的檔案也可以變得很「變態」... 比方說下面用 XeTeX 做的範例:

http://photos6.flickr.com/9461877_17bf361f97.jpg

XeTeX 雖然如此美好,但之前有兩大問題:

第一,要設定字形有點麻煩(但至少比安裝字形好)。

第二,中文斷行有問題(這是真的讓大家不用 XeTeX 的原因)。

我們先解說中文斷行的問題。這在 0.91 版後的 XeTeX 已經解決,方法是加入這兩行:

程式碼:

XeTeXlinebreaklocale "zh" % 表示用中文的斷行
XeTeXlinebreakskip = 0pt plus 1pt % 多一點點調整的空間

然後呢,就像用英文 LaTeX 一樣,該怎樣用就怎樣用,除了內文變成中文之外。比方說:

http://photos4.flickr.com/9461876_79b52f2664.jpg

等等,字形要怎麼選呢?用一個叫 fontspec 的 package 就可以了,你可以直接下載:

http://www.mecheng.adelaide.edu.au/~wil … ntspec.zip

用之前先用 usepackage{fontspec},然後如果你要內定用 Apple LiSung Ling 字形,就下以下指令:

程式碼:

setromanfont{Apple LiSung Light}

當然,你有其他字形,愛用哪個就用哪個。 fontspec 還有很多功能。比方說我們要設內文用明體,粗體字用黑體,斜體字看你高興用什麼字體... 這些都很容易設。還有一開始的例子也是用 fontspec。如果大家有興趣再來討論。

對了,為什麼沒有說 XeTeX 怎麼 download?這是因為你可以(建議)用裝 LaTeX 系統的 i-installer 安裝。

離線

 

#2 2005-04-15 17:14:57

Q3Q
義工版主
註冊日期: 2005-02-09
文章數: 571

Re: 最佳中文LaTeX解決方案-XeTeX!!

感謝 yenlung 的分享。

這真的是很大的突破,現在唯一的缺點是寫出來的 tex 檔不再是跨平台的了。

關於你說的以 fontspec 來設定 font family,可以再貼些例子嗎?你這樣子很吊人胃口啊。

yenlung 寫過:

比方說我們要設內文用明體,粗體字用黑體,斜體字看你高興用什麼字體... 這些都很容易設。還有一開始的例子也是用 fontspec。如果大家有興趣再來討論。

離線

 

#3 2005-04-15 18:07:36

hiking
有好感
註冊日期: 2005-02-09
文章數: 55

Re: 最佳中文LaTeX解決方案-XeTeX!!

可否提供test的原始碼讓大家研究一下。

離線

 

#4 2005-04-15 22:22:21

yenlung
好朋友
註冊日期: 2005-02-09
文章數: 417

Re: 最佳中文LaTeX解決方案-XeTeX!!

嗯,我也才剛開始玩而已... 的確會失去跨平台的能力。不過,中文 LaTeX 要跨平台本來就比較難一些。比方說都用 CJK,可能字形也用得不一樣,或是設法不同。話說回來,真要合作論文什麼的,還是可以改文字部份,只交由一方編譯就好。

我有點時間時再回來說明詳細些。目前可以看一下兩份不錯的參考文件。

一個是 XeTeX Sample 裡的 CJKSample.tex

另一個是 fontspec 的說明(在 download fontspec 套件內就有)

離線

 

#5 2005-04-15 22:35:55

prettyboy
義工版主
來自: 台北
註冊日期: 2005-02-09
文章數: 6446
網站

Re: 最佳中文LaTeX解決方案-XeTeX!!

big_smile 說到Latex讓我想到大學的時候,老師都是假借教人使用LATEX的名義,行幫他編書籍之實,每次上完一學期的課,我們老師就能出版一本翻譯書,不過只要學分拿得到,也沒什麼人在乎這些,不知道現在用LATEX是要做什麼?寫論文嗎?還是??


真實和謊言一起到河邊洗澡,先上岸的謊言偷穿上真實的衣服不肯歸還,
固執的真實也不肯穿上謊言的衣服,只好一絲不掛光溜溜地走回家,
從此人們眼中只有穿著真實外衣的謊言,卻怎麼也無法接受赤裸裸的真實。
My Blog:法藍西斯的逆襲

離線

 

#6 2005-04-18 16:42:08

yenlung
好朋友
註冊日期: 2005-02-09
文章數: 417

Re: 最佳中文LaTeX解決方案-XeTeX!!

prettyboy 寫過:

big_smile 說到Latex讓我想到大學的時候,老師都是假借教人使用LATEX的名義,行幫他編書籍之實,每次上完一學期的課,我們老師就能出版一本翻譯書,不過只要學分拿得到,也沒什麼人在乎這些,不知道現在用LATEX是要做什麼?寫論文嗎?還是??

就像您說的啊,編書也可...

現在用 LaTeX 的人,大部份是以編寫需要用到數學符號的文件為主。可以編書,編講義,也可以做簡報。事實上,不太用數學符號,LaTeX也是相當好的排版軟體。

很多人在打一些文件時,喜歡用文字編輯器打。為什麼要用文字編輯器?因為 Words 實在太大,太沒有不同版的相容性。尤其是 Mac 版的 Words。台灣很多機構都有「方便的 Words 表格」,我每次拿到就很痛苦。原設計表格的人概念不佳就算,在 Mac 上的 Words 慢得不像話更是糟糕。

那你會問,如果我要點格式怎麼辦?

好啦,那就是 LaTeX。LaTeX 是跨平台標準(中文並沒有),使用時只要一個編輯器,開啟編輯迅速(不迅速你還可以換一個編輯器)。然後進行編譯,就出現編排美麗的文件。

而且呢,LaTeX 幾乎是全功能。可以編寫小講義,可以寫論文/寫書,還可以用來做簡報!

一開始要學的比較多,不過習慣了會讓你編寫東西的主力會放在內容,而不是去改一堆有的沒有的,或者等電腦回應,開啟... 原本比較大的是字形使用麻煩,中文 LaTeX 不易做等等。現在有 XeTeX,你系統有的字形都可以教給 LaTeX 使用,當然輕鬆容易沒煩惱。

離線

 

#7 2005-04-19 00:54:01

prettyboy
義工版主
來自: 台北
註冊日期: 2005-02-09
文章數: 6446
網站

Re: 最佳中文LaTeX解決方案-XeTeX!!

感謝yenlung兄的指教,我想找個用空的時間好好把LATEX重新拾起,看看可不可以蹦出什麼火花!!


真實和謊言一起到河邊洗澡,先上岸的謊言偷穿上真實的衣服不肯歸還,
固執的真實也不肯穿上謊言的衣服,只好一絲不掛光溜溜地走回家,
從此人們眼中只有穿著真實外衣的謊言,卻怎麼也無法接受赤裸裸的真實。
My Blog:法藍西斯的逆襲

離線

 

#8 2005-04-19 14:15:32

yenlung
好朋友
註冊日期: 2005-02-09
文章數: 417

Re: 最佳中文LaTeX解決方案-XeTeX!!

LaTeX 是挺好用的,雖然要有相當的學習時間。

以下是我寫的給 XeTeX 的範例。重點只有要記得用 unicode 編寫,用 XeTeX 編譯。不過這些在 TeXShop 中可設定自動做這樣的動作。

程式碼:

%&program=xelatex
%&encoding=UTF-8 Unicode
% XeTeX 測試範例
% 以上是設定使用 XeTeX 編譯,並內設 unicode 編碼,以便 TeXShop 自動辨識

documentclass[12pt]{article}

% Packages
usepackage[a4paper, margin=1in]{geometry}
% geometry 是設邊界,紙張等等非常方便的 package

usepackage{fontspec}
% XeTeX 配合 fontspec 時,字形非常容易設定 

setromanfont[BoldFont={Apple LiGothic Medium}, BoldFont={Apple LiSung Light}]{Apple LiSung Light}
% 預設字形:這裡設內文和斜體為宋體字,粗體為黑體字
% 你可依喜好設成任何你想要的字形,日文也可以哦!只是用來處理中文會缺一些字。

setmonofont[Scale=0.8]{AppleGothic Regular} 
% 設定等寬字形


egin{document}

XeTeXlinebreaklocale "zh" 
XeTeXlinebreakskip = 0pt plus 1pt 
% 讓中文正確斷行的設定

自此,就是內文了。你可以自由的試用,比方說來點{f{粗體字}}等等。

我們再來試試換預設字形的方法:

{
fontspec{Hiragino Mincho Pro W6}
% fontspec 用法和前面預設字形之 setromanfont 一樣,只是可更自由地使用
這是用日文字形的測試。你只要打正常中文即可。可能會缺字就是了。
}

再來就回到正常字形,就用正常 LaTeX 的寫法使用就行了。

end{document}

離線

 

#9 2005-04-19 16:50:13

jotarun
交朋友
註冊日期: 2005-02-24
文章數: 164

Re: 最佳中文LaTeX解決方案-XeTeX!!

好文大推
這幾天才在研究latex
希望用來寫ieee 的paper會比較方便 不要整天都在調圖的位置-.-

離線

 

#10 2005-04-20 00:03:59

serre
剛認識
來自: 巴黎
註冊日期: 2005-03-24
文章數: 4

Re: 最佳中文LaTeX解決方案-XeTeX!!

用了炎龍的方法與範例,並且使用i-Installer裝好了XeTeX,可是卻出現錯誤訊息,無法找到xelatex.fmt。依照XeTeX的FAQ建議,要modify language.dat這個檔,請問該如何修改呢?


寂滅為樂
lol

離線

 

#11 2005-04-20 10:45:12

yenlung
好朋友
註冊日期: 2005-02-09
文章數: 417

Re: 最佳中文LaTeX解決方案-XeTeX!!

serre 寫過:

用了炎龍的方法與範例,並且使用i-Installer裝好了XeTeX,可是卻出現錯誤訊息,無法找到xelatex.fmt。依照XeTeX的FAQ建議,要modify language.dat這個檔,請問該如何修改呢?

怎... 怎麼會這麼正確的寫出我的名字... 網路不是要保持神密感的地方嗎...

代號是 Serre,又在法國,不會是我在法國的學弟...

言歸正傳。其實我從來也沒有改過什麼 language.dat 也。要不要寄那不成功的檔給我看看?還有那個 fontspec package 裝了嗎?

離線

 

#12 2005-04-20 11:07:45

yenlung
好朋友
註冊日期: 2005-02-09
文章數: 417

Re: 最佳中文LaTeX解決方案-XeTeX!!

再說一下我新的發現。

如果還不知道,我介紹一下 LyX 這個軟體。這是你不用知道什麼 LaTeX 指令,就是像平常文書處理程式一般的使用,然後可以達到 LaTeX 輸出效果的程式。如果需要,也可以使用自己愛用的 LaTeX packages。是非常方便,非常適初學,或是老覺得 LaTeX 不順手的朋友們使用。

Mac 上有 Aqua 版:

http://wiki.lyx.org/pmwiki.php/LyX/Mac

重點是:它可以配合 XeTeX 使用哦!(詳見上面的連結)

不好的是:因為 LyX 還不能處理 Unicodes,因此打中文什麼的應該會出問題(我沒有試過)。

那這有什麼用呢?當然還是有啦。第一,現在你可以在 LaTeX 用任何你有的英文字形。第二,如果 LyX 出了可以處理 unicdoes 的版本,我們就有希望有一個非常簡單使用的中文 LyX。

(註:有一個叫 CJK-LyX 的,可配合 CJK 使用中文。不過,這除了 CJK 要裝好,更要自己去編譯 CJK-LyX... 弄不弄得好我也不清楚。)

離線

 

#13 2005-04-20 12:07:11

Q3Q
義工版主
註冊日期: 2005-02-09
文章數: 571

Re: 最佳中文LaTeX解決方案-XeTeX!!

yenlung 寫過:

再說一下我新的發現。

如果還不知道,我介紹一下 LyX 這個軟體。這是你不用知道什麼 LaTeX 指令,就是像平常文書處理程式一般的使用,然後可以達到 LaTeX 輸出效果的程式。如果需要,也可以使用自己愛用的 LaTeX packages。是非常方便,非常適初學,或是老覺得 LaTeX 不順手的朋友們使用。

Mac 上有 Aqua 版:

http://wiki.lyx.org/pmwiki.php/LyX/Mac

重點是:它可以配合 XeTeX 使用哦!(詳見上面的連結)

不好的是:因為 LyX 還不能處理 Unicodes,因此打中文什麼的應該會出問題(我沒有試過)。

那這有什麼用呢?當然還是有啦。第一,現在你可以在 LaTeX 用任何你有的英文字形。第二,如果 LyX 出了可以處理 unicdoes 的版本,我們就有希望有一個非常簡單使用的中文 LyX。

(註:有一個叫 CJK-LyX 的,可配合 CJK 使用中文。不過,這除了 CJK 要裝好,更要自己去編譯 CJK-LyX... 弄不弄得好我也不清楚。)

附議,如果要寫的是英文的 paper 的話,LyX 非常好用。

不管是用 TexShop 或是 LyX,配上 ieeetrans 的內文格式檔以及參考文獻的格式檔,就可以把論文的內容排版成符合 IEEE Transaction 的標準格式。建議加上 cite.sty 這個 package,可以把內文的文獻號碼做整合,例如,內文裡提到文獻 [1, 2, 5, 6, 7, 8, 9], 有經過 cite.sty 加持的話,就可以變成 [1, 2, 5--9] 這樣子的形式。

我有試過在 Mac OS X 裡編譯 CJK-LyX,但是,編出來的仍只能像 Aqua LyX,不接受中文。我與 CJK-LyX 團隊問過,他們因不熟悉 Mac OS X,所以不知道原因在哪裡;我猜是 Qt 介面程式庫在移植到 Mac Aqua 介面時,預設的編譯開關沒有把這 unicode 考慮進去。這麼大的程式我沒辦法讀懂,雖然這些都有源碼。

目前 CJK-LyX 只適用於 linux 裡的 X windows 環境。

離線

 

#14 2005-04-22 15:24:19

jotarun
交朋友
註冊日期: 2005-02-24
文章數: 164

Re: 最佳中文LaTeX解決方案-XeTeX!!

不管是用 TexShop 或是 LyX,配上 ieeetrans 的內文格式檔以及參考文獻的格式檔,就可以把論文的內容排版成符合 IEEE Transaction 的標準格式。建議加上 cite.sty 這個 package,可以把內文的文獻號碼做整合,例如,內文裡提到文獻 [1, 2, 5, 6, 7, 8, 9], 有經過 cite.sty 加持的話,就可以變成 [1, 2, 5--9] 這樣子的形式。

又來麻煩囉∼請問一下
在lyx中常常出現missing ****class
可是看Tex option裡面卻都有找到
請問必須如何處理?

謝謝幫忙囉 lyx 操作上確實比較直覺big_smile

最後修改: jotarun (2005-04-22 15:31:05)

離線

 

#15 2005-04-22 20:38:11

prettyboy
義工版主
來自: 台北
註冊日期: 2005-02-09
文章數: 6446
網站

Re: 最佳中文LaTeX解決方案-XeTeX!!

yenlung 寫過:

serre 寫過:

用了炎龍的方法與範例,並且使用i-Installer裝好了XeTeX,可是卻出現錯誤訊息,無法找到xelatex.fmt。依照XeTeX的FAQ建議,要modify language.dat這個檔,請問該如何修改呢?

怎... 怎麼會這麼正確的寫出我的名字... 網路不是要保持神密感的地方嗎...

代號是 Serre,又在法國,不會是我在法國的學弟...

呵呵,代號是炎龍,感覺好像是在玩勇者鬥惡龍喔!


真實和謊言一起到河邊洗澡,先上岸的謊言偷穿上真實的衣服不肯歸還,
固執的真實也不肯穿上謊言的衣服,只好一絲不掛光溜溜地走回家,
從此人們眼中只有穿著真實外衣的謊言,卻怎麼也無法接受赤裸裸的真實。
My Blog:法藍西斯的逆襲

離線

 

#16 2005-08-06 09:57:43

genemlsh
剛認識
註冊日期: 2005-02-09
文章數: 1

Re: 最佳中文LaTeX解決方案-XeTeX!!

請問一下各位先進們,在xetex下如果紙張要設定為b4格式,加入底下這一行就可以了嗎?
usepackage[b4paper, margin=1in]{geometry}
或是必須再加入其他指令呢?
我試的結果似乎沒有效果,雖然文字排版已經是b4,但是紙張仍是a4的版面,這是xetex的bug嗎?或是有改善的方法?謝謝各位分享出使用texshop+xetex的心得.
ps:我個人使用texshop1.4+xetex0.94打中文Latex

離線

 

#17 2005-08-07 07:58:30

yenlung
好朋友
註冊日期: 2005-02-09
文章數: 417

Re: 最佳中文LaTeX解決方案-XeTeX!!

genemlsh 寫過:

請問一下各位先進們,在xetex下如果紙張要設定為b4格式,加入底下這一行就可以了嗎?
usepackage[b4paper, margin=1in]{geometry}
或是必須再加入其他指令呢?
我試的結果似乎沒有效果,雖然文字排版已經是b4,但是紙張仍是a4的版面,這是xetex的bug嗎?或是有改善的方法?謝謝各位分享出使用texshop+xetex的心得.
ps:我個人使用texshop1.4+xetex0.94打中文Latex

我目前也不太知問題在哪裡。我在想應該是「看PDF」那個部份,要讓「看PDF的軟體」知道B4大小的紙(設 page setup ?)

不是很確定,要再研究一下。

離線

 

#18 2006-07-16 04:59:45

alicekey
剛認識
註冊日期: 2006-07-16
文章數: 7

Re: 最佳中文LaTeX解決方案-XeTeX!!

我最近開始用Xetex,有些疑問想請教各位
我沒有裝fontspec但是以下的指令是有用的
setromanfont{Apple LiSung Light}
這樣是不是代表我不用去裝fontspec了呢?

還有我要如何得知
儷宋字型=Apple LiSung Light
因為我完全不知道要如何得知,這樣不就無法設定字型了嗎!

這是我心中很大的疑惑,請各位高手幫幫我

最後修改: alicekey (2006-07-16 05:00:46)

離線

 

#19 2006-07-16 17:26:40

yenlung
好朋友
註冊日期: 2005-02-09
文章數: 417

Re: 最佳中文LaTeX解決方案-XeTeX!!

第一個問題我還要試試才知是 fontspec 已內含還什麼。第二個問題可以用標準軟體 Font Book 看出字形的名稱。

離線

 

#20 2006-11-02 23:17:46

hiking
有好感
註冊日期: 2005-02-09
文章數: 55

Re: 最佳中文LaTeX解決方案-XeTeX!!

serre 寫過:

用了炎龍的方法與範例,並且使用i-Installer裝好了XeTeX,可是卻出現錯誤訊息,無法找到xelatex.fmt。依照XeTeX的FAQ建議,要modify language.dat這個檔,請問該如何修改呢?

i-installer 安裝 tex.ii時選擇 2003ppc的版本,再裝xetex的套件就可正常。若是2004ppc和2005ppc的版本,安裝xetex時會無法產生xelatex.fmt。

離線

 

論壇頁尾

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson