书签乱码

众所周知,LaTeX是一种基于ΤΕΧ的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

一般LaTeX的工具套件主要以CTeX和TexLive为主,听说CTeX比较好用(忘了听谁说的,好像是一个科研大牛说的:)),于是下载了CTeX,将近3GB,经过十分钟左右的安装,终于安装完毕,写个测试脚本,内容如下:

\documentclass[a4paper,onecolumn]{ctexart}
\usepackage{latexsym,afterpage,amssymb,amsmath,amsthm,amsbsy,amsopn,amstext,amsxtra,amscd,color,multicol}% 常用宏包
\usepackage{bm,calc,lastpage,listings,indentfirst,ifpdf,CJK,CJKnumb,fancybox,fancyhdr,float,subfigure,times,longtable}
\usepackage{everypage,lastpage}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{url}\setcounter{secnumdepth}{4}
\pagestyle{plain}
\hypersetup{CJKbookmarks=true}\title{标题标题}
\author{pangpang}\begin{document}%
\begin{CJK*}{GBK}{song}\begin{abstract}%
\noindent \textbf{摘要}
\noindent{\bf 关键字}\\
\end{abstract}\section{第一章}第1章hellohello,你好。\section{第二章}第2章hellohello,你好。\section{第三章}第3章hellohello,你好。\section{第四章}第4章hellohello,你好。\section{第五章}第5章hellohello,你好。\section{第六章}第6章hellohello,你好。\section{第七章}第7章hellohello,你好。\bibliographystyle{plain}
\end{CJK*}
\end{document}

选择"PDFTexify"

编译,运行,生成pdf。一切都很顺利。但是美中不足,生成的pdf标签竟然乱码!!简直无可忍受。

解决方案一:编译工具改为“PDFLaTeX”,问题解决

关于TeX几个重要名词的解释:

TeX:一种宏语言。
Plain Tex: Tex中的一个最基本的宏集合与TeX的基础语言构成的一种格式。
LaTex    : Tex中的一个宏集合,构成一种与 Plain TeX 不一样的格式。
Tex程序  :把Tex语言转换为排版的程序,也叫Tex。为区别,称这个 TeX 程序叫Knuth TeX。
tex命令  :Tex程序中的编译命令。tex命令默认用Plain TeX格式进行排版。也就是说tex命令后面默认跟的 tex文件应该是用Plain Tex格式写的。
latex命令:tex命令加上某一个选项使用,就会用LaTeX 格式进行排版,也就是说此时后面跟的tex文件应该是用LaTex格式写的。为方便,就把tex 命令与对应编译选项合成为一个命令,叫latex命令。
ε-TeX 程序:Knuth TeX程序的一个扩展,也是一个程序,一般写成 eTeX。增加了少量的几个命令,但一般来说是与Knuth TeX程序没有太多区别的。
实现:在文中的意思就是指“程序”的意思。如文中:eTeX 程序和 Knuth TeX 都是TeX语言的一个实现(也就是说,eTeX 程序和 Knuth TeX 都是把TeX语言转换为排版的程序。程序作用于tex文本文件,把tex文件编译成dvi文件)。
pdfTeX程序:Tex语言的又一个实现,也就是把Tex语言转换为排版的又一个程序。它会把 TeX 语言写的代码直接编译成 PDF 文件。
pdftex命令:pdfTex程序中的命令,用来编译用Plain TeX格式写的tex文件。
pdflatex命令:pdfTex程序中的命令,用来编译用LaTeX格式写的tex文件。
XeTeX程序 :TeX语言的新的实现,即把Tex语言转换为排版的一个新程序。支持Unicode 编码和直接访问操作系统字体。
xetex命令 :XeTeX程序中的命令,用来编译用Plain TeX格式写的tex文件。
xelatex命令:XeTeX程序中的命令,用来编译用LaTeX格式写的tex文件。
pdftexify :是一个winedt自己写的脚本
TeX 是一种排版语言。LaTeX 是在 TeX 基础上的一种格式。CTeX 是关于 TeX 的一个完整的具体软件包,
而ctex不过是基于miktex的一种发行,它里面可以使用tex,latex,amstex或者其他的语法,并且加入了cct中文处理,是这些东西的一个集成,简单的说是一个工具软件。latex的软件叫miktex4,简单澄清TeX、LaTeX、TeX Live、TeX Studio这几个概念:
TeX是一种语言,类似于Java和C之类的计算机语言,但是它是为简单的排版操作设计的;
LaTeX是TeX的扩展,又称为宏集,简单说就是TeX的命令太原始了,为了方便作者写作,Leslie Lamport给TeX语言加入了很多新的功能,这些他写的功能跟TeX加在一起被称为LaTeX。LaTeX当然也是一门语言,是基于TeX的一门语言;
TeX Live是一个TeX发行版,它是一组程序的集合,主要作用就是将你写的TeX代码进行解析排版输出成PS或者pdf。“TeX发行版相对于TeX语言”大致可以理解为“C语言编译器(如GCC或Clang)相对于C语言”的关系;

部分编译日志如下:

。。。
gbk2uni, version 0.22, initially implemented by cxterm and ZLB in Jan. 2003enhanced by hooklee in Mar. 2003.please visit www.ctex.org and www.chinatex.org for more information.
gbk2uni test.out is finished!

以上的解决方案是因为CTeX套件自带了“gbk2uni.exe”这个工具(位于CTeX安装目录\CTeX\cct\bin\下面),所以实现起来比较简单。要是工具集没有自带gbk2uni.exe这个工具怎么办呢?下面请看方案二。

解决方案二:配置gbk2uni.exe。

为了演示本方案的有效性,我们把CTeX自带的gbk2uni.exe重命名一下,让系统无法找到该可执行文件。

Step1:下载gbk2uni.exe,光速传送门,压缩包内容如下:

将该压缩包,下载解压到任意目录,比如“E:\1_Program_File\CTeX\gbk2uni”

Step2:将该文件夹的绝对路径配置到系统环境的“PATH”变量,如果不清楚,请自行百度,不在本文的讨论范围。

Step3:配置。

3.1打开WinEdt -》Options-》Options Interface..

3.2配置MainMenu.ini

双击左边Options Interface-》Menus and Toolbar-》Main Menu

CTRL+F搜索:MENU="TeX_Menu"。在第一个ITEM前面添加如下红色内容:

MENU="TeX_Menu"
  CAPTION="Te&X"
  CONFIG_FILTER="Default;MiKTeX;TeX Live"
  ITEM="-"
  ITEM="GBK2UNICODE"
    CAPTION="gbk2uni"
    IMAGE="Notepad"
    SAVE_INPUT=1
    MACRO=:Run('gbk2uni.bat %P\%N');
    REQ_FILTER="%P\%N.out"
  ITEM="TeXify"

3.2配置Toolbar.ini

搜索字符串:BUTTON="ps2pdf",改动如下(红色内容):

BUTTON="ps2pdf"
  BUTTON="|"
  BUTTON="GBK2UNICODE"

Step4:保存以上两个文件,并且更新配置

此时,如果不出意外,将出现以下图标(编辑*.tex文件才能点击):

Step5:先点击"PDFLaTeX"编译一次,生成*.out文件,然后点击上一步出现的菜单栏图标

出现报错:

E:\1_Doc\CTEX\test  2>gbk2uni E:\1_Doc\CTEX\test.out
gbk2uni, version 0.22, initially implemented by cxterm and ZLB in Jan. 2003enhanced by hooklee in Mar. 2003.please visit www.ctex.org and www.chinatex.org for more information.
Cannot open e:\1_doc\ctex\test.out to read!

test.tex所在的文件路径中空格去掉,再次尝试。处理成功:

E:\1_Doc\CTEX\test2>gbk2uni E:\1_Doc\CTEX\test2\test.out
gbk2uni, version 0.22, initially implemented by cxterm and ZLB in Jan. 2003enhanced by hooklee in Mar. 2003.please visit www.ctex.org and www.chinatex.org for more information.
gbk2uni e:\1_doc\ctex\test2\test.out is finished!E:\1_Doc\CTEX\test2>pause

再次点击"PDFLaTeX"编译,查看pdf,可以发现,书签正常

如果无法显示书签,请点击SumatraPDF的View-》 Bookmarks

CeTx解决pdf书签乱码问题相关推荐

  1. swagger2导出html文档和pdf文档(解决pdf中文乱码与显示不全问题)

    pom文件修改swaggerInput值 <swaggerInput>http://192.168.3.246:9999/arms/v2/api-docs</swaggerInput ...

  2. iText生成PDF文件(解决了中文乱码)

    在网上搜了一下iText的东东,简单的整理了一个Demo,解决了中文乱码问题,这里不贴链接了 网上搜一下就行了 package com.westdream.test; import java.io.F ...

  3. java生成pdf不支持中文_java生成pdf以及解决中文中文乱码问题

    [在网上搜了一下iText的东东,简单的整理了一个Demo,解决了中文乱码问题,这里不贴链接了 网上搜一下就行了package com.westdream.test;import java.io.Fi ...

  4. linux打开word乱码,解决linux下openoffice word文件转PDF中文乱码的问题

    网上很多介绍是由于jdk中的没有字体导致乱码,而我遇到的是转换过程并未报错,但转换后的PDF中是乱码,尝试在jre/lib/fonts/中增加字体,还是不能解决问题,因此可以判断非jre字体问题,是l ...

  5. Windows 平台中采用 beamer 时中文书签乱码解决方法

    具体做法如下 Step 1: 在 beamer.cls 中找到:                \PassOptionsToPackage{bookmarks=true,%               ...

  6. pdf书签目录一键生成,再也不怕找不到了

    最近在看一个pdf,很长很长,1000多页.这种时候没有导航跳转是很痛苦的.所幸,这个pdf带了导航.但是,带的是一个错误的导航...更加痛苦. 经过一整圈的搜索,终于找到了一款神器!pdf补丁丁!功 ...

  7. 如何解决PDFcopy文本乱码的问题!

    相信大家在平时应该碰到过自己想在PDF中想要copy文本的时候,但是paste的时候发现文本已经乱码了!这是为什么呢?具体原因我也不是很清楚.但是应该是编码的问题把??今天经过一位童鞋的介绍接触了汉王 ...

  8. 怎么解决pdf转换成cad格式呢?

    在我们工作中,难免需要将PDF文件转换成CAD图纸,这毕竟两种完全不同格式的文件要转换起来,不了解操作方法感觉挺难的.那么如何快速解决pdf转换成cad格式呢? PDF的特点是在任何平台都等同于原稿, ...

  9. fastreport 转PDF 中文 乱码 ARIAL

    fastreport 转PDF中文乱码,百度绝大部分方法是:把字体设为宋体,设为中文字体等 这的确可以解决,但是为了解决这个问题,牺牲字体,牺牲美观,宋体实在是太丑了, 这个问题困扰了很久,今天终于找 ...

最新文章

  1. vmware 添加 磁盘 空间
  2. php修改新闻分类代码,新闻分类录入、显示系统_php
  3. 集合 Arrays.asList | java.lang.UnsupportedOperationException: null
  4. 高性能网站建设之 MS Sql Server数据库分区
  5. C#实现查找指定端口被哪个进程占用并处理进程及dos命令下操作
  6. dw网页制作入学教程_简单的手机网页制作教程
  7. 关于Spring Cloud Commons—普通抽象
  8. 19.复习:一般过去时、过去进行时和过去完成时
  9. Android源代码编译——编译
  10. Hadoop配置Yarn
  11. Redis教程--基于docker搭建redis文档服务
  12. 基于Vue3在线商城(Vue3+VueCLI+VueRouter+vuex+axios+Bootstrap)
  13. 黑客组织“洋葱狗”潜伏3年终曝光 定期偷袭能源及交通行业
  14. linux安装包apr安装说明,Linux下安装Apr及其Apr-util的基本步骤
  15. COOC一款用于文献计量和知识图谱绘制的新软件
  16. 交换机接口的双工模式
  17. strpos php 中文,php strpos是什么
  18. c语言汇率转换代码_基于C语言实现的货币转换器.doc
  19. 通过xsd校验xml文件
  20. js(EcamaScript)

热门文章

  1. 上海理工大学宣布利用人工智能实现了三维矢量全息新技术
  2. [文档] 软件测试报告
  3. 安全性和保密性设计---系统的安全性设计
  4. 通达信软件接口如何更新股票价格指数?
  5. 基于SSH开发网上蛋糕店(甜品)购物商城系统(前台+后台)
  6. 计算机类学术论文格式,学术论文格式要求-北京交通大学.doc
  7. 斗地主棋牌类游戏中的洗牌和发牌算法
  8. Java期末复习题详解
  9. oracle通过表空间文件进行数据库恢复,oracle通过DBF恢复数据
  10. Microsoft Office 2010信息