Apr 14

LaTeX学习心得之 —— 中文 书签无乱码 及 pdf书签链接 以及正确的tableofcontents 不指定

felix021 @ 2009-4-14 20:43 [IT » 软件] 评论(8) , 引用(0) , 阅读(24628) | Via 本站原创 | |
看了一天的lshort,终于对LaTeX的使用有了大致的了解,不过还是有些不够熟悉。
决定写个东西练手,但是写着写着遇到一个难以逾越的问题:
使用\label{ooxx}定义一个标签(或者叫做书签?),然后用\ref{ooxx}引用的时候,就出现两个问号"??"
网上的说法是,需要一个gbk2uni.exe把编码转换一下
因为很多人是在win下面编写的TeX文档,默认是GBK编码,而生成书签的需要用UTF-8编码才能被识别
可是我是在Ubuntu Linux下面的,默认的文本编码就是UTF8,没有必要转换了阿
网上查到有人用了hyperref包,但是加上下面这一句之后仍然是俩问号
引用
\usepackage[dvipdfm,
            pdfstartview=FitH,
            CJKbookmarks=true,
            bookmarksnumbered=true,
            bookmarksopen=true,
            colorlinks=true, %注释掉此项则交叉引用为彩色边框(将colorlinks和pdfborder同时注释掉)
            %pdfborder=001,   %注释掉此项则交叉引用为彩色边框
            citecolor=magenta,% magenta , cyan
            linkcolor=blue,
            linktocpage=true,
            ]{hyperref}       % hyperref 宏包通常要求放在导言区的最后!!!

又因为一直是直接用pdflatex b.tex编译的文档,以为是需要按照正常的方式,于是
引用
$ latex b.tex
$ dvips b.div
$ ps2pdf b.ps

可是在第一步提示
引用
LaTeX Warning: Reference `def' on page 1 undefined on input line 31.
LaTeX Warning: There were undefined references.

生成的pdf文件中仍然是不能正常显示,非常囧。
折腾了好久,网上一直没找到解释,却在无意中发现了解决方案:
如果我先用latex编译一次b.tex以后,然后再用pdflatex,就能够解决问题!
然后又突然就明白过来了,运行latex b.tex两次,第二次就没有那个warning了!
Orz... 怎么工作得像MASM似的,先扫一遍找Symbol,然后才生成目标代码。。。

如果要生成的pdf中,书签作为超级链接存在,则要加入前面的那个hyperref的package
注意里面的第一个参数dvipdfm(也可以是ps2pdf,这取决于最后你用什么命令生成pdf)
然后
引用
$ latex b.tex
$ latex b.tex
$ dvipdfm b.dvi

然后生成的b.pdf,就是理想的状态了^_^
经过测试:
如果是dvipdfm,就必须用dvipdfm来生成pdf;
如果是ps2pdf,就必须用ps2pdf生成;
如果不填写,就必须用pdflatex。

--

至于另一个很诡异的问题:
如果在\section{}里面给的是中文,那么加入\tableofcontents以后,就会出现如下错误
! Package inputenc Error: Unicode char \u 8:解 not set up for use with LaTeX.
http://www2.informatik.hu-berlin.de/~xu/LaTeX.html 找到了博主在 http://i.thuda.org/ir77/?p=60 找到的诡异解决方法:
在文档的末尾加上\newpage
而且居然有效。
太TMD诡异了。



转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: http://www.felix021.com/blog/feed.php
Tags: , ,
hhh
2017-6-1 20:26
如果插入的图片文件名是中文的,也会出现这个问题,这个时候把文件名改成英文的就可以了
zhang
2011-3-27 20:48
不能不回复阿!折腾了好久,原来是这个毛病,完全搞不明白.郁闷
dandan
2010-4-2 21:00
太棒了,按照你的方法来,果然就把问题解决了
hao
2010-3-11 12:50
我用它解决了标题乱码的问题,在此谢谢楼主!
czyhd Homepage
2009-11-8 16:13
在文档的末尾加上\newpage

我郁闷了半天就是不出中文,原来这么扯淡的解决啊。。

居然google到这里了。。
felix021 回复于 2009-11-8 16:52
- -|
youminbuluo
2009-8-29 01:18
Unicode char \u 8这玩意折腾了我半天,残念真想打人了
sfc
2009-6-11 00:03
刚才遇到了同样的诡异问题——Unicode char \u 8:解 not set up for use with LaTeX.
那个解决方案确实诡异。谢谢了。
wayne
2009-4-15 10:06
这两天我用了一下Xelatex,也挺好用的,对中文支持好,而且直接可以用系统字体~
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   *非必须
网址   电邮   [注册]