我想在用 LaTeX 编译的 TeX 中输入中文。我已阅读了上一篇邮政。由于我必须坚持,article
因此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
command 而不是command。另外,你必须指定 Linux 操作系统中安装的中文字体,可以通过命令latex
列出。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 包中列出更多语言,只需记住,您最后输入的语言将是主要语言。