我想在用LaTeX編譯的TeX中輸入中文。我讀過上一篇郵政。由於我必須堅持article
as documentclass
,到目前為止,以下解決方案對我有用:
% UTF-8 encoding
% bad-looking fonts (CJKfonts package)
% latex
\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK*}{UTF8}{gbsn}
文章内容。
\clearpage\end{CJK*}
\end{document}
必須將漢字包含在環境中(CJK*
)讓我很惱火。有沒有一種解決方案可以像英文一樣隨時隨地輸入中文呢?
編輯1:
我在 中嘗試了以下程式碼Emacs
,我用C-c C-c
它來啟動LaTeX
命令Emacs
:
% Compile with xelatex
% UTF-8 encoding
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{SimSun}
\begin{document}
文章内容
\end{document}
它回傳一個錯誤:
--- TeX said ---
********************************************
* XeTeX is required to compile this document.
* Sorry!
********************************************.
\RequireXeTeX ...********************************}
\endgroup \fi
l.25 \RequireXeTeX
但我已經做到了sudo apt-get install texlive-xetex
,我也安裝了texlive-full
。
答案1
使用CJK
如果使用CJK
包,則只能CJK
在文件的開頭和結尾使用一次環境。因此,您CJK
在鍵入文字時無需擔心將環境放置在哪裡。比如說,你可以(而且你應該)簡單地使用
\documentclass{book}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK*}{UTF8}{gbsn}
\chapter{某章}
内容……
\chapter{某章}
内容……
\clearpage\end{CJK*}
\end{document}
使用xeCJK
正如前面所說,你應該使用xelatex
命令而不是latex
命令。此外,您必須指定Linux作業系統中安裝的中文字體,可以透過fc-list
指令列出該字型。
典型的情況是 Ubuntu 預設安裝沒有安裝正確的中文字體。您可以透過安裝WenQuanYi(文泉驛)和Arphic(文鼎)免費字體apt-get
,也可以手動安裝其他商業字體。
然後fc-list
在控制台視窗中使用以取得作業系統中的字體清單。典型的列表如下:
AR PL UMing TW:style=Light
AR PL UMing HK:style=Light
AR PL UMing CN:style=Light
AR PL UKai CN:style=Book
AR PL UKai HK:style=Book
AR PL UKai TW:style=Book
......
DejaVu Sans Mono:style=Bold
DejaVu Sans Mono:style=Book
DejaVu Sans:style=Bold
DejaVu Sans:style=Book
DejaVu Serif:style=Bold
DejaVu Serif:style=Book
......
WenQuanYi Zen Hei,文泉驛正黑,文泉驿正黑:style=Regular
WenQuanYi Zen Hei Mono,文泉驛等寬正黑,文泉驿等宽正黑:style=Regular
其中有些是中文字體,有些不是。您可以選擇要使用的字體名稱(在 之前:
),例如
% Compile with xelatex
% UTF-8 encoding
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{AR PL UMing CN} % may be changed
\begin{document}
文章内容
\end{document}
請注意,不同 Linux 發行版中的中文字體名稱有很大不同,例如您可能會得到AR PL SungtiL GB
相同的 Arphic 字型。所以不要只是複製我的程式碼。
並且您需要將 Emacs 配置為使用或xelatex
來代替。latex
pdflatex
答案2
我設法找到一個簡單的解決方案來解決您的問題 - 只需在文件的開頭添加兩個包:
\usepackage[english]{babel}
\usepackage[UTF8]{ctex}
這樣你的環境設定為英文,但你可以隨時使用中文,無需設定CJK環境。您可以從 babel 套件中列出更多語言,只需記住您最後輸入的語言將是主要語言。