latex中用hyperref和CJK生成中文書籤

2021-06-20 00:38:59 字數 1507 閱讀 2213

在latex中使用中文問題多多,前一篇博文   討論了怎麼安裝中文環境。

為了便於瀏覽,我們經常加入帶有鏈結功能的書籤(bookmark)或者叫目錄樹、索引,latex中最方便的是使用hyperref巨集包,只要匯入了它,它就會自動為各種交叉索引加入鏈結。

但是配置不當的時候加入了它可能無法編譯,或者可以編譯出正常的pdf正文部分但是書籤部分全是亂碼。

出現問題的地方主要有2點:

1,utf-8與ansi/gbk的問題。

這裡需要保持「檔案儲存格式」與「檔案中命令(包名、引數)形式」的一致。

為了避免不必要的麻煩,建議把檔案儲存為utf8格式(windows下缺省會儲存為ansi格式,並採用gbk編碼)並使用相關指令,一般可以在編輯工具的選項裡面設定。否則需要借助網上盛傳的gbk2uni工具,它其實就是做了乙個把中間檔案(*.out)從ansi/gbk到utf-8轉碼的功能。

ansi/gbk配套包名、命令:\usepackage  及 \begin

utf-8配套包名、命令:\usepackage  及 \begin

2,hyperref包的選項。

如果檔案採用了utf-8編碼儲存,那麼千千萬萬不要在hyperref包的選項裡面寫入cjkbookmarks,這會導致亂碼。而應該使用unicode選項。

乙個簡單問題:如果採用pdflatex編譯,選項中應該寫pdftex;而如果採用類似latex->dvi2ps->ps2pdf這樣的一條編譯鏈的話就應該使用選項dvipdfm。

其他說明:

如果修改了目錄結構,pdflatex命令需要執行2到3遍(前面的幾遍用於更新中間檔案(.toc等),最後一遍用於將中間檔案和.tex檔案整合),否則得到的pdf檔案的在目錄等某些地方沒有更新。如果只是修改了正文,那執行一遍就可以了。

這是乙個我在使用的沒有問題的導言區例子:

\documentclass[fleqn]	%align all the equations to the left

\usepackage
\geometry

%word中預設的a4紙邊距

\usepackage
%\usepackage

\usepackage[cmex10]
%\usepackage[cjkbookmarks,pdftex]	%dvipdfm

\usepackage[unicode,pdftex]	%dvipdfm

\begin

\begin

%檔案儲存為utf8格式時需要,宋體

%\begin %檔案儲存為ansi格式時需要,宋體

......

\end

再附乙個hyperref各種選項的官方簡要說明:

原載於

LaTeX中加入包hyperref出現的錯誤之解決

在 寫作中為每個目錄項或者其他型別的引用項加上超連結可以快速幫助自己檢視和修改 尤其是當 比較長的時候。這適用於 初稿時,當 定稿後,可根據需求與否,再決定是否繼續適用這種型別的超連結。本文要講的是在使用包hyperref建立上述超連結時出現的乙個錯誤,及該錯誤的解決方法。本文對沒有過多latex使...

Latex中用bibtex生成參考文獻

1.幾個檔案型別 tex 就是tex檔案,這個地球人都知道,是文章所在的主要檔案 bib 參考文獻所在的檔案 bst 參考文獻樣式檔案 tex 檔案的最後加上 bibliography,是bib檔案同名,在 bibliography中不需要載入副檔名。2.模版 如ieee需要 bibliograph...

中用BBP公式計算 LaTeX 公式篇

latex,始於公式,忠於優雅.很長一段時間,數學公式的編輯都是採用mathtype解決的,但是直到我遇到了latex的公式便一見傾心 久久不能釋懷 相信很多做學術的科研狗應該都是聽過latex排版寫出來的 是多麼的好看,顏值高。其實latex簡單來說就是一種文字處理軟體 計算機標記語言。本文作為入...