Latex生成的PDF中加入书签/Navigation/导航

本文参考:【Latex学习】在生成pdf中加入书签/目录/提纲_latex 书签-CSDN博客

(这篇文章写的真的太棒了!非常推荐)

题外话,我的碎碎念,这也是我如何提高搜索能力的办法: 想在Latex生成的PDF中加入书签,我在检索这个问题的时候,脑子是有画面的,pdf阅读器左侧的navigation,我忘记了这个叫书签,因为我只记得在word中显示导航项的英文是navigation, 由英文才想起对应的中文是导航,于是检索这个问题时,我在必应的搜索框中键入的关键词是:Latex增加导航。

回车,在搜索页面中,总是会有更相关的词,这个时候,只需要把关键词替换一下,总是会得找到自己问题的解决办法。当然,今天的这个问题,并没有这么复杂,不需要找到更相关的词,再次进行搜索。

总结:

  1. 生成目录:

    复制代码
    \tableofcontents  % 生成目录
  2. 生成PDF书签:

    复制代码
    \usepackage{hyperref}  %添加在begin{document}之前

目录

一、Latex生成目录

二、生成PDF书签

2.1-生成PDF书签

2.1-进一步,消除红色超链接框,让保留超链接


一、Latex生成目录

假设Latex中已经生成多级标题,我们用命令:\tableofcontents可以生成目录。

值得注意的是,这种方式生成的目录不带有超链接。

注意:下述Latex代码 需要使用XeLatex编译

推荐使用Overleaf!简单方便!

R 复制代码
\documentclass{article}
\title{论文题目}
\author{作者}
\date{\today}


\usepackage[UTF8]{ctex} %中文
% 页边距
\usepackage{geometry}
\newgeometry{left = 3 cm, right = 3 cm, top=2.5cm, bottom=1.5cm}

\begin{document}
\maketitle
\textbf{Abstract}


\tableofcontents  % 生成目录

\newpage
\section{Python}  % 一级标题
\subsection{Leetcode}  % 二级标题

\section{写作}  % 一级标题

\section{其他}  % 一级标题
\subsection{Latex}  % 二级标题
\subsection{博客}  % 二级标题

\end{document}	

上述代码效果:

Latex中文环境参考:

LaTex支持中文的三种方式_latex编译中文-CSDN博客

二、生成PDF书签

2.1-生成PDF书签

直接加一行命令:\usepackage{hyperref}

值得注意的是,通过这种方式,得到的PDF中的目录是带有超链接的!

代码如下:

R 复制代码
\usepackage{hyperref}  % 在\begin{document}之前加入

\begin{document}

效果如下:

2.1-进一步,消除红色超链接框,让保留超链接

注意到,在第二节中,生成的PDF文件的目录带有红色的框框(通常红色的框框提示我们这个地方是有超链接的!)但是pdf文档中的目录有红框框,不好看,我们可以使用如下命令:

参考:

【Latex学习】在生成pdf中加入书签/目录/提纲_latex 书签-CSDN博客

本文主要参考:【Latex学习】在生成pdf中加入书签/目录/提纲_latex 书签-CSDN博客 , 这篇文章给出了两种生成PDF书签的方式,一是通过**hyperref** Latex宏包 ,二是通过pdfcomment Latex宏包

下面是由ChatGPT给出的hyperref宏包和pdfcomment宏包之间的区别:

pdfcommenthyperref是两个不同的LaTeX包,它们分别用于不同的目的。

  1. pdfcomment包用于在PDF文档中添加注释和批注。它提供了一些命令,可以在文档中添加注释、批注、高亮和下划线等标记,这些标记会直接在生成的PDF文件中显示。这对于在共享或审阅文档时添加注释非常有用。

  2. hyperref包用于创建超链接和书签。它可以让你在文档中创建内部和外部链接,包括交叉引用、URL链接、目录链接等。此外,hyperref还可以在PDF文档中生成书签,使得阅读和导航文档变得更加方便。

虽然这两个包都与PDF文档有关,但它们的功能和用途是不同的。pdfcomment用于添加注释和标记,而hyperref用于创建链接和书签。如果你需要在文档中添加注释,可以使用pdfcomment包;如果你需要创建链接和书签,可以使用hyperref包。需要注意的是,当同时使用这两个包时,可能会出现一些兼容性问题,需要小心处理。

相关推荐
X_StarX35 分钟前
【Unity笔记01】基于单例模式的简单UI框架
笔记·ui·unity·单例模式·游戏引擎·游戏开发·大学生
智者知已应修善业3 小时前
【51单片机用数码管显示流水灯的种类是按钮控制数码管加一和流水灯】2022-6-14
c语言·经验分享·笔记·单片机·嵌入式硬件·51单片机
孞㐑¥6 小时前
Linux之Socket 编程 UDP
linux·服务器·c++·经验分享·笔记·网络协议·udp
sealaugh329 小时前
aws(学习笔记第四十八课) appsync-graphql-dynamodb
笔记·学习·aws
freexyn11 小时前
Matlab自学笔记六十一:快速上手解方程
数据结构·笔记·matlab
很小心的小新12 小时前
12、jvm运行期优化
java·开发语言·jvm·笔记
老家的回忆14 小时前
jsPDF和html2canvas生成pdf,组件用的elementplus,亲测30多页,20s实现
前端·vue.js·pdf·html2canvas·jspdf
Vertira14 小时前
pdf 合并 python实现(已解决)
前端·python·pdf
寻丶幽风14 小时前
论文阅读笔记——NoPoSplat
论文阅读·笔记·三维重建·3dgs·相机位姿·dustr
西岭千秋雪_16 小时前
Redis缓存架构实战
java·redis·笔记·学习·缓存·架构