pdflatex编译多语言latex文档的方法

pdflatex编译多语言latex文档的方法


关键词:latex,pdflatex,inputenc,fontenc,cjk,cjkutf8,zhmetrics




利用多语言latex文档,不是什么新鲜事。在xetex等原生支持unicode编码的引擎流行之前,它就已经是经常遇到的问题。
在当前的情况下,利用xelatex等编译器编译多语言文档已经很常见,方法也很简单。具体的方法可以参考:
![LaTeX技巧909:在 LaTeX 中输出多国语言](http://www.latexstudio.net/archives/10839)




习惯了使用xelatex之后,突然遇到要用pdflatex编译latex文档,不经包含多种西语,而且还要加入中文,发现是个麻烦事。
对于西语来说,用好inputenc和fontenc两个宏包基本能够解决,但要加入中文会遇到一些新的问题,本来西语编译的好好的,加入中文后就变了样,大量出错。之前知道在使用pdflatex编译中文的时期,CJK宏包是一个主要的处理方式,加入后仍然存在问题。


下面要介绍的就是这样一个示例,原来有英文文档夹杂另一种西语。使用了inputenc后,使用pdflatex编译完全没有问题。但加入中文后就存在问题了。下面用简化例子来说明:
 

\documentclass{article}
%\usepackage{ucs}
%\usepackage{CJK}
\usepackage{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{ctex}


\begin{document}
English text
Du côté de chez Swann

中文文本

%\begin{CJK}{UTF8}{hei}
%中文文本
%\end{CJK}

\end{document}




该例子,中文用ctex处理,采用xelatex编译没有问题。文档是utf-8编码,这种情况下fontenc,inputenc有没有存在没有关系。


但是要使用pdflatex编译的话,继续使用ctex就会出现乱码。


使用cjk宏包后仍然出现问题,搜索texexchange后发现对于utf编码的文档,需要使用cjkutf8。编译后的确没有问题,然后换成cjk仍然没有问题,发现差异主要在字体family上。于是再去找寻原理,把以前用的pdflatex中文字体相关的内容都去翻出来看了看,最后发现前人早已把所有的问题都解决了,我们只要能用就行了。


结合刘海洋的回帖,Yue Wang和Lingyun Wu的zhmetrics等,问题解决如下,直接上代码最直观:
 

\documentclass{article}
%\usepackage{ctex} %对于xelatex编译

\usepackage[encapsulated]{CJK}%可以与下一句替换
%\usepackage{CJKutf8}

%\usepackage{ucs}
%\usepackage{fontenc}
\usepackage[utf8]{inputenc}

%\AtBeginDvi{\input{zhwinfonts}} %对于先编译dvi的latex或者pdflatex
\input{zhwinfonts} %对于先编译dvi的latex或者pdflatex,与前面一句可以替换
\begin{document}

English text

Du côté de chez Swann

%中文文本

%\begin{CJK}{UTF8}{gbsn}%下面这些语句都可以替换

%\begin{CJK}{UTF8}{bsmi}%繁体

%\begin{CJK}{UTF8}{zhsong}
%\begin{CJK}{UTF8}{zhhei}
%\begin{CJK}{UTF8}{zhkai}
%\begin{CJK}{UTF8}{zhfs}
%\begin{CJK}{UTF8}{zhli}
\begin{CJK}{UTF8}{zhyou}
%\begin{CJK}{UTF8}{}
中文文本
\end{CJK}
\end{document}





参考资料:


1. http://www.latexstudio.net/archives/10839


2. https://tex.stackexchange.com/questions/165197/russian-and-chinese-in-the-same-document


3. https://tex.stackexchange.com/questions/17611/how-does-one-type-chinese-in-latex/17637#17637


4. zhmetrics:


5. gbsnu


6. cjk.txt


7. cjkutf8.txt


 

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值