ubuntu下的latex用beamer制作演示文稿时中文书签乱码解决方法

用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<presentation>
{
    \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}<beamer>
        \frametitle{}
        \tableofcontents[currentsection]
    \end{frame}
}
\AtBeginSubsection[]
{
    \begin{frame}<beamer>
        \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}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值