用beamer制作演示文稿时, 加上CJK选项后正文显示中文正常, 但书签是乱码.
此问题一直困扰我很久, 以前临时的解决方法是用utf8编码编写文档, 但在
CJK参数中用GB编码方式. 编译tex文档是把tex文档用iconv转换成GBK编码的
文档, 然后用pdflatex编译, 再用gbk2uni程序转换书签, 最后再用pdflatex
编译. 虽然达到了效果, 但很繁琐. 最近又碰到新的麻烦, 新加入的utf8编码
的字体无法使用. 所以想解决此问题.
网上搜索了一下, 大部分都是用gbk2uni转换的方法. 也看到在写article类型
文章时用hyperref包加unicode参数的方法. 在beamer上实验了一下, 出错!
感觉beamer可能也用hyperref来做书签. 就搜索latex-beamer的deb包(ubuntu)
看看hyperref在哪里被beamer使用了.
在文件/usr/share/texmf/tex/latex/beamer/base/beamer.cls中找到:
\PassOptionsToPackage{bookmarks=true,%
bookmarksopen=true,%
pdfborder={0 0 0},%
pdfhighlight={/N},%
unicode=true,% <-------------- 加入此行
linkbordercolor={.5 .5 .5}}{hyperref}
把unicode参数加入后, 用下面的tex测试, 书签正常了.
\documentclass{beamer}
\usepackage{CJKutf8}
\mode
{
\usetheme[headheight=0.2in]{boxes}
\setbeamercovered{transparent}
\usecolortheme{dolphin}
}
%\usepackage[latin1]{inputenc}
\usepackage{times}
\usepackage{tikz}
\usepackage{multimedia}
\usepackage{amsmath}
%\usecolortheme{sidebartab}
\pgfdeclareimage[height=1.5cm,width=1.5cm]{logoUni}{logo2}
\logo{\pgfuseimage{logoUni}}
\AtBeginSection[]
{
\begin{frame}
\frametitle{}
\tableofcontents[currentsection]
\end{frame}
}
\AtBeginSubsection[]
{
\begin{frame}
\frametitle{}
\tableofcontents[currentsubsection]
\end{frame}
}
\begin{document}
\begin{CJK}{UTF8}{song}
\title{程序结构}
\author{微机原理}
\begin{frame}
\titlepage
\end{frame}
\section*{摘要}
\frame{\tableofcontents}
\section{汇编源程序的编程格式}
\begin{frame}
\frametitle{分类}
\begin{itemize}
\item<1-> EXE文件的编程格式
\item<2-> COM文件的编程格式
\item<3-> COM文件的执行级别最高,EXE文件次之,同名BAT文件级别最低
\end{itemize}
\end{frame}
\section{文本方式BIOS屏幕功能调用}
\begin{frame}
\frametitle{显示存储器}
\begin{itemize}
\item<1-> 启动DOS,适配器自动工作在80X25文本方式下
\item<2-> 待显示字符ASCII码存放在显示存储器偶地址单元
\end{itemize}
\end{frame}
\end{CJK}
\end{document}
阅读(1181) | 评论(0) | 转发(0) |