设为首页收藏本站

CTEX社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5672|回复: 2

[已解决] CJK模式与中文书签的最小模板

[复制链接]
发表于 2011-5-14 22:07:39 | 显示全部楼层 |阅读模式
本帖最后由 maming 于 2011-5-15 02:28 编辑

看到还有不少人用CJK模式,我把他做个小小的总结,如何生成可以搜索复制有书签的PDF,希望有点小帮助。给出五个小例子,前两个CJK GBK编码,第二个在latex+latex+dvipdf 时可以少一个gbk2uni 的过程;第三个是CJKutf8 UTF8编码;后两个是在CTeX下的CJK模式,也分两种编码。第三种和第五种是最简单的方式。

  1. % GBK 编码
  2. % run1: latex+ latex+ gbk2uni+ latex+ dvipdf
  3. % run2: pdflatex+gbk2uni+pdflatex
  4. \documentclass{article}
  5. \usepackage{CJK}
  6. \usepackage{ifpdf}
  7. \ifpdf
  8.   \usepackage{ccmap}%使pdflatex 可以搜索
  9. \fi
  10. \usepackage[driverfallback=dvipdfmx,CJKbookmarks]{hyperref}
  11. \begin{document}
  12. \begin{CJK*}{GBK}{song}
  13. \section{测试}
  14. 基于CJK的可以搜索、复制、有书签的中文PDF。
  15. \end{CJK*}
  16. \end{document}
复制代码
  1. % GBK编码,第一种方式不需要用gbk2uni
  2. % run1: latex+ latex+ dvipdf
  3. % run2: pdflatex+gbk2uni+pdflatex
  4. \documentclass{article}
  5. \usepackage{CJK}
  6. \usepackage{ifpdf}
  7. \ifpdf
  8.   \usepackage{ccmap}
  9. \else
  10.   \AtBeginDvi{\special{pdf:tounicode GBK-EUC-UCS2}}%将GBK转换为unicode
  11. \fi
  12. \usepackage[driverfallback=dvipdfmx,CJKbookmarks]{hyperref}
  13. \begin{document}
  14. \begin{CJK*}{GBK}{song}
  15. \section{测试}
  16. 基于CJK的可以搜索、复制、有书签的中文PDF。
  17. \end{CJK*}
  18. \end{document}
复制代码
  1. % !Mode:: "TeX:UTF-8"%UTF8编码
  2. % run1: latex + latex + dvipdf
  3. % run2: pdflatex+pdflatex
  4. \documentclass[12pt,a4paper]{article}
  5. \usepackage{CJKutf8}
  6. \usepackage[driverfallback=dvipdfmx,unicode]{hyperref}%不能用CJKbookmarks
  7. \begin{document}
  8. \begin{CJK*}{UTF8}{song}
  9. \section{测试}
  10. 基于CJK的可以搜索、复制、有书签的中文PDF。
  11. \end{CJK*}
  12. \end{document}
复制代码
下面是CTeX的CJK模式。

  1. % run1: latex+ latex+ dvipdf
  2. % run2: pdflatex+gbk2uni *.out+pdflatex
  3. \documentclass[hyperref,GBK]{ctexart}%GBK是默认方式
  4. \usepackage{ifpdf}
  5. \ifpdf
  6.   \usepackage{ccmap}
  7. \fi
  8. \begin{document}
  9. \section{测试}
  10. 基于CJK的可以搜索、复制、有书签的中文PDF。
  11. \end{document}
复制代码
  1. % !Mode:: "TeX:UTF-8"
  2. % run1: latex+ latex+ dvipdf
  3. % run2: pdflatex+pdflatex
  4. \documentclass[hyperref,UTF8]{ctexart}
  5. \begin{document}
  6. \section{测试}
  7. 基于CJK的可以搜索、复制、有书签的中文PDF。
  8. \end{document}
复制代码
发表于 2011-5-14 23:09:15 | 显示全部楼层
总结的很好啊,还可以在“\usepackage{ccmap}”后加个注释“保证字体映射正确,从而可以搜索和复制”。

另个问个问题,不知你遇过没有:
章节的正确层次是
section 1.1——subsection 1.1.1——subsubsection 1.1.1.1——paragraph (1)……(2)……(3),书签显示为
—1.1
     |—1.1.1
     |      |—1.1.1.1
     |      |      |—(1)
   |      |      |—(2)
   |      |      |—(3)

如果这样使用:
section 1.1——subsection 1.1.1——paragraph (1)……(2)……(3),即跳过子节,

则pdf书签中就将 paragraph (1)放在子节subsubsection的位置处,而后的paragraph (2)……(3)都显示正确,显示如下

—1.1
     |—1.1.1
     |      |—(1)
     |      |      |—(2)
    |      |      |—(3)

请问,该如何在章节层次有缺失的情况下,显示结构正确的pdf书签呢?
发表于 2011-5-15 00:02:24 | 显示全部楼层
1# maming


ctex宏包不存在CJK选项。

小黑屋|手机版|Archiver|CTEX ( 京ICP备05002817号  

GMT+8, 2017-3-29 11:10 , Processed in 0.188691 second(s), 13 queries , Gzip On, Xcache On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表