由于Linux全系统默认Unicode(UTF8),所以根本不需要特殊的设置。如果.tex文件使用的是utf8编码,那么输出的pdf文件本就应该是正常的。因此我移除了hyperref选项中的CJKbookmarks=true选项并加上unicode选项,再用pdflatex编译,果然就正常了。模板如下,%后面是被注释掉的内容。The `CJKbookmarks' option should only be used for bookmarks *not* in Unicode.
要点:\documentclass[a4paper,12pt]{article}
\usepackage[%CJKbookmarks=true,colorlinks,linkcolor=black,anchorcolor=blue,citecolor=green,unicode=true,]{hyperref}%由于作者和标题也含有中文,而此时还未加载中文宏包,所以不能使用中文。\usepackage[UTF8]{ctex}
\usepackage{CJKpunct}
\usepackage{indentfirst}
\usepackage{fancyhdr}
\usepackage{amsmath}
\usepackage[hmargin = {2.54cm}, vmargin = {3.17cm}]{geometry}
\usepackage{titlesec}
%\usepackage{CJKutf8}
\hypersetup{pdfauthor={某某}, pdftitle={数学建模第一次实验}}
- 中文宏包与hyperref宏包的加载顺序是重要的,以前在Windows下使用CTeX的时候就发现了这个问题。
- 在Linux里全局要使用UTF8编码,不要为了个别乱码听从网上的一些教程改系统locale,遇到乱码问题,尽量坚持使用UTF8编码。在整个系统全程使用一种编码(UTF8),既与国际接轨(好大的词儿),又可避免许多问题。Unicode是以后的趋势。
- 新建的tex源文件要使用UTF8编码,在编译器的选项里进行设置。
我的系统环境:
Ubuntu 12.04 LTS,Texlive 2012,Texworks和Texmaker,使用pdflatex生成pdf。
No comments:
Post a Comment