这是我的一个LaTeX文件的源代码,我使用了编辑器WinEdt,和MiKTeX中的软件包CJK
,但是显示效果不好,不能显示汉字。
\documentclass[12pt]{article}
\usepackage{CJK}
\title{Test}
\author{zhulongsheng([email protected])}
\date{2014/01/28}
\begin{document}
\maketitle
\begin{CJK*}{GBK}{song}
\today
\section{第一}
这是第一段
\CJKfamily{hei}
\section{第二}
这是第二段
\subsection{Goal}
这是
\LaTeX
\end{CJK*}
\end{document}
答案1
此软件包已过时,不推荐使用。以下是使用此软件包和引擎的CJK
Unicode 解决方案。xeCJK
XeTeX
\documentclass[12pt]{article}
\usepackage{xeCJK}
% I supposed that you do have these fonts mentioned below.
\setCJKmainfont[BoldFont={SimHei},ItalicFont={[SIMKAI.TTF]}]
{SimSun}
\setCJKsansfont{SimHei}
\setCJKmonofont{[SIMFANG.TTF]}
\setCJKfamilyfont{zhsong}{SimSun}
\setCJKfamilyfont{zhhei}{SimHei}
\setCJKfamilyfont{zhkai}{[SIMKAI.TTF]}
\setCJKfamilyfont{zhfs}{[SIMFANG.TTF]}
\newcommand*{\songti}{\CJKfamily{zhsong}} % 宋体
\newcommand*{\heiti}{\CJKfamily{zhhei}} % 黑体
\newcommand*{\kaishu}{\CJKfamily{zhkai}} % 楷书
\newcommand*{\fangsong}{\CJKfamily{zhfs}} % 仿宋
\title{Test}
\author{zhulongsheng([email protected])}
\date{2014/01/28}
\begin{document}
\maketitle
\today
\section{第一}
这是第一段
\heiti
\section{第二}
这是第二段
\subsection{Goal}
这是
\LaTeX
\end{document}
将其保存为编码UTF8
并用 进行编译XeLaTeX
。
此外,如果您的操作系统是 Windows(简体中文),您会很高兴了解该ctexart
课程,因为它为您提供了一种生成包含中文字符的 LaTeX 文档的简单方法。
一个简单的例子(UTF8
并且XeLaTeX
,还有):
\documentclass[UTF8, cs4size]{ctexart}
\title{Test}
\author{zhulongsheng([email protected])}
\date{2014/01/28}
\begin{document}
\maketitle
\today
\section{第一}
这是第一段
\heiti
\section{第二}
这是第二段
\subsection{Goal}
这是
\LaTeX
\end{document}
答案2
fontspec
无需包的Unicode解决方案CJK
:
\documentclass[12pt]{article}
\usepackage{fontspec}
\setmainfont{STFangsong} % Mac OS X system font
\setsansfont{STHeiti} % Mac OS X system font
\newfontfamily\song{STFangsong}
\newfontfamily\hei{STHeiti}
\title{Test}
\author{zhulongsheng([email protected])}
\date{2014/01/28}
\begin{document}
\maketitle
\today
\song
\section{第一}
这是第一段
\hei%\sffamily%\CJKfamily{hei}
\section{第二}
这是第二段
\subsection{Goal}
这是
\LaTeX
\end{document}
答案3
为何会失败呢?
MiKTeX(和 TeX Live)没有为CJK
软件包中的这些字体设置适当的字体映射。对于如此不同的平台,维护这样的字体映射是不可移植且困难的。
在一些本地 TeX 发行版中(例如CTeX系列),为中文版 Windows 平台设置了额外的字体映射。如果您安装了这些 TeX 发行版,您的代码将可以正常工作。
快速(且肮脏)的修复
% Put it in the preamble
\AtBeginDvi{\input{zhwinfonts}}
更好的解决方案
首选 XeLaTeX。pdfLaTeX 或 dvipdfmx 也可以。(LuaLaTeX 尚未完全支持。)
优先使用 UTF-8 编码(尤其是对于 XeLaTeX)。
ctex
最好使用包(ctexart
、、ctexrep
类)。ctexbook
看如何在 LaTeX 中输入中文?我的建议。