发布时间:2012-11-29 10:51:45
文章类别:小技巧
原文地址:http://blog.sina.com.cn/s/blog_5e16f1770102fcyt.html

QQ群:91940767/145316219/141877998/80300084/194770436
淘宝店:http://latexstudio.taobao.com
技巧续篇:http://latexstudio.net/
常见数学公式问题集下载

通常,我们用hyperref来做目录的超级链接,通过目录我们可以跳转到章节所在页,有用户提出能不能再从章节所在页跳转到目录处,于是有了下面这个问题:
搜索了下,已经有了解决方案,http://tex.stackexchange.com/questions/60830/make-chapter-titles-link-to-table-of-contents 思路比较简单,在chapter的地方加一个可以链接到目录的锚点命令即可了。
代码摘录如下:
\documentclass{report}
\usepackage[explicit]{titlesec}
\usepackage{hyperref}

\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}
{\Huge\hyperlink{chap\thechapter}{#1}}
\titleformat{name=\chapter,numberless}[display]
{\normalfont\huge\bfseries}{}{-22pt}
{\Huge#1}

\makeatletter
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}%
{\protect\numberline{\thechapter}\string\hypertarget{chap\thechapter}{#1}}%
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
\if@twocolumn
\@topnewpage[\@makechapterhead{#2}]%
\else
\@makechapterhead{#2}%
\@afterheading
\fi}
\makeatother

\begin{document}

\tableofcontents
\chapter{Test Chapter One}
\chapter{Test Chapter Two}
\chapter{Test Chapter Three}

\end{document}

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部