当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : latex beamer class中文书签问题
帖子发表于 : 2009-08-06 17:16 
头像

注册: 2009-03-25 9:38
帖子: 601
系统: Fedora 22 x86_64
送出感谢: 1
接收感谢: 16
一直无法解决latex beamer class的中文书签问题。
症状是:
测试文件123.tex(英文),123_cn.tex(中文)。
第一次运行pdflatex 123_cn.tex,产生了
123_cn.toc
第一行\beamer@sectionintoc {1}{首页}{1}{0}{1}
以及123_cn.out
第一行\BOOKMARK [2][]{Outline0.1}{\231\226\230\165}{}
如果对于英文的123.tex,
第一次运行 pdflatex 123.tex,产生的123.toc和123.out第一行内容分别是
\beamer@sectionintoc {1}{Title}{1}{0}{1}

\BOOKMARK [2][]{Outline0.1}{Title}{}
我的理解是第一遍pdflatex把
“首页”转化为“\231\226\230\165“,没有把"Title"改动。
网上有人建议用gbk2uni(附件gbk2uni.c,gbk2uni.h)运行
gbk2uni 123_cn或gbk2uni 123_cn.out,这样可以处理123_cn.out
第一行变为
\BOOKMARK [2][]{Outline0.1}{\376\377\000\231\000\226\000\230\000\165}{}
写到这里偶然得到解决方法了,把上行的\000全删掉,其他行一样处理。
可以得到中文书签了!
最后的疑问:
\376之类的东西看不懂。把中文如何转化为\376的?答案或许在gbk2uni.c和gbk2uni.h中。
标签中的英文以及数字竟然成了乱码。或许英文数字等也该转化为\376之类的东西。
我想找本类似字典的东西来进行转化。


附件:
gbk2uni.tar [240 KiB]
被下载 72 次


_________________
qq 591799783
email a14331990#hotmail.com a14331990#163.com
页首
 用户资料  
 
2 楼 
 文章标题 : Re: latex beamer class中文书签问题
帖子发表于 : 2009-08-06 21:38 
头像

注册: 2009-03-25 9:38
帖子: 601
系统: Fedora 22 x86_64
送出感谢: 1
接收感谢: 16
刚才自己试验出来了
注意分离数字、空格与字母,数字、空格与字母中的\000不可去掉。
gbk2uni后把数字、空格与字母也处理了。
\000\040是空格
\000\061是1
\000\062是2
汉字前的\000该去掉。
举例:
神奇的Haskell 1
pdflatex第一遍
\171\136\131\107\166\204Haskell 2
gbk2uni处理
\376\377\000\171\000\136\000\131\000\107\000\166\000\204\000\110\000\141\000\163\000\153\000\145\000\154\000\154\000\040\000\061
开始改上行
\376\377是头,不管,
汉字部分在未处理行与已处理行中十分相似
根据猜测204表示汉字的结尾。于是204前的均删一个\000(注意连着的\000也只能删一个)。
得到\376\377\171\136\131\107\166\204\000\110\000\141\000\163\000\153\000\145\000\154\000\154\000\040\000\061


_________________
qq 591799783
email a14331990#hotmail.com a14331990#163.com


页首
 用户资料  
 
3 楼 
 文章标题 : Re: latex beamer class中文书签问题
帖子发表于 : 2009-08-07 7:53 
头像

注册: 2009-03-25 9:38
帖子: 601
系统: Fedora 22 x86_64
送出感谢: 1
接收感谢: 16
最小文件123_cn.tex如下:
\documentclass[13pt,a4paper]{beamer}
\usepackage{CJKutf8}
\usetheme{PaloAlto}

\begin{document}
\begin{CJK}{UTF8}{song}

\section{123 hello 汉字 123 hello}
\begin{frame}[plain]
\titlepage
\end{frame}




\end{CJK}
\end{document}

pdflatex第一遍得到
\BOOKMARK [2][]{Outline0.1}{123 hello \154\111\133\127 123 hello}{}
用gbk2uni处理得到
\BOOKMARK [2][]{Outline0.1}{\376\377\000\061\000\062\000\063\000\040\000\150\000\145\000\154\000\154\000\157\000\040\000\154\000\111\000\133\000\127\000\040\000\061\000\062\000\063\000\040\000\150\000\145\000\154\000\154\000\157}{}
在123_cn.out中修改上行得到
\BOOKMARK [2][]{Outline0.1}{\376\377\000\061\000\062\000\063\000\040\000\150\000\145\000\154\000\154\000\157\000\040\154\111\133\127\000\040\000\061\000\062\000\063\000\040\000\150\000\145\000\154\000\154\000\157}{}
第二遍pdflatex得到正确显示
123 hello 汉字 123 hello
从上面看,gbk2uni给第一遍生成的123_cn.out加了个头\376\377,再把数字,字母,空格转成\000\xxx的样子,只是不该给汉字也加\000。加头\376\377我也会,请问有什么好办法直接把数字,字母,空格转成\000\xxx的样子。
谢谢!


_________________
qq 591799783
email a14331990#hotmail.com a14331990#163.com


页首
 用户资料  
 
4 楼 
 文章标题 : Re: latex beamer class中文书签问题
帖子发表于 : 2009-08-07 12:40 
头像

注册: 2009-03-25 9:38
帖子: 601
系统: Fedora 22 x86_64
送出感谢: 1
接收感谢: 16
我把123_cn.tex的导言改了下
\documentclass[hyperref={unicode},13pt,a4paper]{beamer}
\usepackage{CJKutf8}
\usetheme{PaloAlto}
\begin{document}
\begin{CJK}{UTF8}{song}
\section{123 hello 汉字 123 hello}
\begin{frame}[plain]
\titlepage
\end{frame}
\end{CJK}
\end{document}
仅仅是在ctex论坛的朋友的建议下加了hyperref={unicode}
直接两遍pdflatex就行,不用gbk2uni。
后来我看了下beameruserguide和hyperref manual总算懂了。
谢谢大家的关注!


_________________
qq 591799783
email a14331990#hotmail.com a14331990#163.com


页首
 用户资料  
 
5 楼 
 文章标题 : Re: latex beamer class中文书签问题
帖子发表于 : 2012-03-28 20:37 

注册: 2006-11-23 13:04
帖子: 900
送出感谢: 0 次
接收感谢: 0 次
a14331990 写道:
我把123_cn.tex的导言改了下
\documentclass[hyperref={unicode},13pt,a4paper]{beamer}



这个强!!!!!!!

解决了我的问题。 :em11


_________________
需要买七折域米的,要博客空间的,要建网站的童学猛点这里!!!

要不要折腾linode呢......纠结

还是折腾VULTR吧

都是性价比之王


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译