在用 LaTeX 编译的 TeX 中输入中文

在用 LaTeX 编译的 TeX 中输入中文

我想在用 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

前面说过了,你应该使用xelatexcommand 而不是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而不是latexpdflatex

答案2

我设法找到了解决您问题的简单方法 - 只需在文档开头添加两个包:

\usepackage[english]{babel}
\usepackage[UTF8]{ctex}

这样,您的环境就设置为英语,但您可以随时使用中文,而无需设置 CJK 环境。您可以从 babel 包中列出更多语言,只需记住,您最后输入的语言将是主要语言。

相关内容