2009-07-29 80 views
4

我正在努力獲取使用latex創建的日文文檔。我已經安裝了包含CJK的最新版本的texlive-2008。latex section {}中的日文字符會導致錯誤

在我的文檔,我有以下:

\documentclass{class} 
\usepackage{CJK} 
\begin{document} 
\begin{CJK*}{UTF8}{min} 
\title{[Japanese Characters here 1]} 
\maketitle 
\section{[Japanese Characters here 2]} 
[Japanese Characters here 3] 
\end{CJK*} 
\end{document} 

在上面的代碼中有日文字符,使用3個位置。

1 + 3正常工作,而在\ section {}中包含日語字符的2失敗,並顯示以下錯誤。

! Argument of \@sect has an extra }. 

經過一番研究發現,當您將脆弱的命令放入移動的參數中時,會發生此錯誤。例如,因爲節可以移動到內容頁面,因此可以移動參數。

有誰知道如何讓這個工作,以及爲什麼乳膠認爲日本字符是「脆弱的」。

+0

作爲黑客,我已將\ section {[JP]}更改爲\ section [] {[JP]} 這適用於某些沒有內容頁面的文檔,方括號表示可移動部分。對於大多數文檔,我仍然需要能夠正常使用它們來生成內容和索引等。 – Tom 2009-07-29 13:33:04

回答

7

對不起,發佈這個答案,而不是評論你的答案;我沒有足夠的代表尚未發表評論。 (編輯:。現在我有足夠的代表處發表評論,但我不後悔了感謝威爾)

您與

\section{\texorpdfstring{[Japanese Text]}{}} 

更換

\section{[Japanese Text]} 

的解決方案暗示你」重新使用hyperref包。當您使用hyperref包時,\section中的任何類型的不完全無聊文本(例如數學)會導致問題,因爲\section在生成pdf書籤時遇到問題。 \texorpdfstring允許您指定您希望節標題出現在pdf書籤中。例如,我可以寫

\section{Calculation of \texorpdfstring{$H_2(\mathcal{X})$}{H\_2(X)}} 

如果我想該部分的標題是「的$ H_2(\ mathcal {X})$計算」,但我想的PDF書籤是「H_2的計算(X) 」。

3

您應該使用xetex/xelatex,因爲它已被創建爲支持unicode。不過,對於已經存在的文件來說,這種改變有時並不容易。 (xelatex應該包含在texlive中,它只是調用不同的可執行文件 - 這是如何在Debian中完成的)。

+2

我還會建議xelatex或xetex。 TEX編程= UTF-8 \ usepackage {fontspec}%XeLaTeX的字體選擇;請參閱fontspec.pdf文檔 \ defaultfontfeatures {Mapping = tex-text}%來支持TeX約定,例如``''' \ usepackage {xunicode}%對LaTeX字符名稱(重音符,歐洲字符等)的Unicode支持。 \ usepackage {xltxtra}%的XeLaTeX 額外定製\ setmainfont {了Charis SIL} %\ setsansfont {似曾相識三世} %\ setmonofont {似曾相識單} – Mica 2009-07-29 16:04:22

+0

作爲附加的註釋可能[希望]幫助別人,一旦我切換到`xelatex`來構建包含ja-JP unicode字符的PDF,我不得不明確指定具有平假名/片假名/漢字字符的默認字體,而這不是我必須用香草`乳膠`+` dvipdf`。然而,對於後者,當我使用TOC時,我無法將它們包含在章節和章節標題中。不管怎樣,兩者之間的折衷,但是在@Mica建議的前言中明確定義其中的一些內容對於大多數人來說可能是更可取的。 – 2014-06-01 00:44:55

2

我已經設法讓這個工作了!

像以前一樣使用Latex和CJK。

\section{[Japanese Text]} 

\section{\texorpdfstring{[Japanese Text]}{}} 

現在內容頁面和章節標題的工作和更新精細取代。

相關問題