红联Linux门户
Linux帮助

Ubuntu下LaTex中文环境配置

发布时间:2014-11-07 21:37:17来源:linux网站作者:lalor

LaTeX是一个强大的排版软件,但是其最初只是为英文排版而设计的。为了使其能够胜任中文排版的重任,我们还需要进行一些额外的调教。这篇文章中,就谈谈如何在Ubuntu下(使用12.04)进行LaTeX中文环境配置。


第一步,安装基本的LaTeX环境:

sudo apt-get install texlive

第二步,安装中文字体包。字体包中包含bsmi,bkai,gkai,gbsn四种中文字体。bsmi和bkai是Big5编码的宋体和楷体字;后两者gkai和gbsn分别处理简体中文楷体字和宋体字。

sudo apt-get install latex-cjk-all


至此,基本的配置就完成了。此时,我们可以新建一个tex文件并输入以下测试内容。正常情况下,编译这个tex文件就能在文档中显示中文了。值得说明的一点是,这些字体是不支持斜体格式的,但支持加粗。其实,在正式的中文排版中,如果要强调某些部分,是通过使用仿宋体或者楷体来实现,而不是像英文中那样通过斜体来实现。

\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{gkai}
这是一个楷体中文测试,处理简体字。
\end{CJK}
\begin{CJK}{UTF8}{gbsn}
这是一个宋体中文测试,处理简体字。
\end{CJK}
\begin{CJK}{UTF8}{bkai}
這是一個big5編碼的楷體中文測試,處理繁體文字。
\end{CJK}
\begin{CJK}{UTF8}{bsmi}
這是一個个big5編碼的明體中文測試,處理繁體文字。
\end{CJK}
\end{document}


接下来,还要针对中文排版进行进一步的设置。

首先,设置每一行的首行缩进。

/usepackage{indentfirst}
/setlength{/parindent}{2em}

其次,中文文档习惯于使用“目录”、“插图目录”、“表格目录”、“参考文献”、“摘要”、“索引”、“表格”、“图”等字样作为文章特殊部分的标题,而 LaTeX 对于这些部分的标题默认是使用英文的,因此可以通过重定义宏的方式将其重定义为中文字样。


/renewcommand{/contentsname}{目录}
/renewcommand{/listfigurename}{插图目录}
/renewcommand{/listtablename}{表格目录}
/renewcommand{/refname}{参考文献}
/renewcommand{/abstractname}{摘要}
/renewcommand{/indexname}{索引}
/renewcommand{/tablename}{表}
/renewcommand{/figurename}{图}

写到这里,用LaTeX来进行日常的中文排版就不成问题了。最后,希望大家都能喜欢LaTeX这个功能强大的排版软件。


新手注意事项

以下是我遇到的问题,新手一般也会遇到,提示一下吧,免得你们也走弯路。

中文问题

在你确定中文可用的情况下,时不时的还钻出一个错误,可能是你的 \begin{CJK}放的位置不对,比如如下代码

[plain] view plaincopyprint?
\documentclass{article}
\usepackage{CJKutf8}
 
\title{Title}
\author{lalor}
 
\begin{document}
\maketitle
\tableofcontents
 
\begin{CJK}{UTF8}{gbsn}
\section{部分1} % (fold)


LaTex是一个宏包,目的是使作者能够利用一个
预先定义好的专业页面设置,
从而得以高质量的排版和打印他们的作品.
 
\section{部分二} % (fold)
 
這是一個个big編碼的明體中文測試,處理繁體文字。
\end{CJK}
\end{document}
\documentclass{article}
\usepackage{CJKutf8}

\title{Title}
\author{lalor}

\begin{document}
\maketitle
\tableofcontents

\begin{CJK}{UTF8}{gbsn}
\section{部分1} % (fold)
LaTex是一个宏包,目的是使作者能够利用一个
预先定义好的专业页面设置,
从而得以高质量的排版和打印他们的作品.

\section{部分二} % (fold)


這是一個个big編碼的明體中文測試,處理繁體文字。
\end{CJK}
\end{document}        表面上看没有什么问题,编译又出错,网上搜索也得不错什么结果,经过我的摸索找到了原因,在\begin{CJK}[UTF8]{gbsn}前面没有中文,按理说不会出错,但是不要忘了我们要生成目录,在这里目录是中文的,所以编译出错了,最好将\begin{CJK}[UTF8]{gbsn}放在\usepackage后面,其他语句前面。


目录

我们可以通过\renewcommand{\contentsname}{目录}这条语句将最后文章中“Contents”这个单词改成“目录”二字,毕竟中文么,但是这样又有一个问题就是生成的目录为空,也就是只能看到“目录”二字,却看不到内容,解决方法是在最后的\end{CJK}前加上一条语句\newpage,参见:http://www.bimeichun.com/Linux/latex.html#sec8当然了,这样还是可能不成功的,你可能需要编译两次才能正确生成目录。

日期

最后是日期问题,一般都是自动生成的日期,但是我们想该成一个特定日期应该怎么该了,自己试了半天也没搞定,测试了如\date{2011\03\01},\date{2011\\03\\01},\date{03\01\2011}都不行,原来应该是\date{2011年3月},也就是原样输出啦。