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!简单方便!

\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中的目录是带有超链接的!

 代码如下:

\usepackage{hyperref}  % 在\begin{document}之前加入

\begin{document}

 效果如下:

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

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

参考:

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

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

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/266053.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决用Fiddler抓包,网页显示你的连接不是专用/私密连接

关键:重置fiddler的证书 在Fiddler重置证书 1、Actions --> Reset All Certificates --> 弹窗一路yes 2、关掉Fiddler,重新打开 3、手机删掉证书,重新下载安装。 (如果还不行,重新试一遍,先把浏览器…

用python对航空公司客户价值进行聚类分析

1.实验目的 1.会用Python创建KMeans聚类分析模型; 2.使用KMeans模型对航空公司客户价值进行聚类分析; 3.会对聚类结果进行分析 2.实验设备 Jupyter notebook 3.实验原理 4.实验内容 使用sklearn.cluester的KMeans类对航空公司客户数据进行聚类分析&…

Springboot+vue的装饰工程管理系统(有报告),Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的装饰工程管理系统(有报告),Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的装饰工程管理系统,采用M&#xff08…

TSINGSEE青犀可视化视频云平台JT/T1078接入能力在智慧物流中的应用

一、引言 随着科技的快速发展和全球贸易的蓬勃发展,智慧物流成为了现代物流业的重要发展方向。智慧物流通过引入先进的信息技术,实现了物流过程的自动化、智能化和信息化,从而提高了物流效率和准确性。在这个过程中,JT/T1078接入…

天文观测与计算机技术:粉丝的视角

天文观测与计算机技术:粉丝的视角 在浩瀚无垠的宇宙中,每一颗星星都像是神秘的密码,等待我们去破译。作为天文观测的粉丝,我深知每一个美丽的星图背后都离不开计算机技术的支持。在这篇文章中,我将分享我对天文观测与…

蓝桥杯第二场小白入门赛(1~5)(对不起,我线段树太菜了)

1.模拟 2.贪心 3.二分 4.数论 5.数论 6.线段树&#xff08;线段树还是练少了...&#xff09; 1. 蓝桥小课堂-平方和 直接模拟&#xff0c;注意数据范围 #include <bits/stdc.h> using namespace std; #define LL long long #define pb push_back #define x first …

华清远见嵌入式学习——ARM——作业2

目录 作业要求&#xff1a; 现象&#xff1a; 代码&#xff1a; 思维导图&#xff1a; 模拟面试题&#xff1a; 作业要求&#xff1a; GPIO实验——3颗LED灯的流水灯实现 现象&#xff1a; 代码&#xff1a; .text .global _start _start: 设置GPIOEF时钟使能 0X50000…

【Linux驱动】字符设备驱动程序框架 | LED驱动

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《RTOS学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 目录 &#x1f3c0;Hello驱动程序⚽驱动程序框架⚽编程 &#x1f3c0;LED驱动⚽配置GPIO⚽编程驱动…

【Linux C | 文件I/O】文件的读写 | read、write、lseek 函数

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

一个简单的 HTTP 请求和响应服务——httpbin

拉取镜像 docker pull kennethreitz/httpbin:latest 查看本地是否存在存在镜像 docker images | grep kennethreitz/httpbin:latest 创建 deployment&#xff0c;指定镜像 apiVersion: apps/v1 kind: Deployment metadata:labels:app: httpbinname: mm-httpbinnamespace: mm-…

[管理者与领导者-129]:很多人对高情商的误解,工程师要扩展自己的情商吗?工程师如何扩展自己的情商?

目录 前言&#xff1a; 一、什么是高情商&#xff1f; 1.1 什么是高情商 1.2 情商的五大能力 1.3 高情商的层次 1.4 对高情商的误解? 二、工程师需要发展自己的高情商吗&#xff1f; 三、工程师如何扩展自己的情商&#xff1f; 四、什么样的“高情商”的管理者令人讨…

攻防世界——Hello, CTF

运行可以发现这是输入型的flag &#xff08;re题目分为两类&#xff0c;一种你直接输入flag&#xff0c;还有一种就是你完成某个操作后&#xff0c;给你flag&#xff09; 可以发现关键字符串就是wrong 和 input 32位 IDA打开 进入直接进入字符串界面&#xff0c;发现关键字符…

使用Swift Package Manager (SPM)实现xcframework分发

Swift Package Manager (SPM) 是苹果官方提供的用于管理 Swift 项目的依赖关系和构建过程的工具。它是一个集成在 Swift 编程语言中的包管理器&#xff0c;用于解决在开发过程中管理和构建包依赖项的需求。 1、上传xcframework.zip到服务端 压缩xcframeworks成一个zip包&…

SqlServer数据取头取尾

SqlServer数据取头取尾 案列一&#xff1a; --表有以下字段和数据 DROP TABLE #temptable CREATE TABLE #temptable ( [SN] nvarchar(255), [STATUSCODE] int, [NAME] nvarchar(255), [STATUSDESC] nvarchar(255), [REASON] nvarchar(255), [RUNTIME] datetime, [END_TIME] d…

js 图片 手动上传,并回显

效果展示&#xff1a; 代码&#xff1a; <label for"avatarUpload"><div><img v-if"avatatImageUrl" :src"avatatImageUrl" class"avatar"><img v-else src"../../assets/images/account/avatar-upload.png…

60、UART任意时间缓冲打印信息--解决写代码调试时中断中打印信息问题

/********************************************************************** *file:UART任意时间缓冲打印信息–解决写代码调试时中断中打印信息问题 *author:残梦 *versions:V1.0 *date:2023.12.23 note: 方案&#xff1a;创建一个缓冲区&#xff0c;任意时间添加数据至缓冲区…

C++设计模式 #3策略模式(Strategy Method)

动机 在软件构建过程中&#xff0c;某些对象使用的的算法可能多种多样&#xff0c;经常改变。如果将这些算法都写在类中&#xff0c;会使得类变得异常复杂&#xff1b;而且有时候支持不频繁使用的算法也是性能负担。 如何在运行时根据需求透明地更改对象的算法&#xff1f;将…

重生奇迹mu翅膀合成

在重生奇迹mu中&#xff0c;合成翅膀需要准备好翅膀碎片、宝石、羽毛、强化精华等材料&#xff0c;而其中不同翅膀合成要求的材料和数量略有不同。以下是一般合成翅膀的步骤&#xff1a; 1.首先&#xff0c;需要在背包中准备好所有的合成材料。如果缺少任何一种材料&#xff0…

Postman —— HTTP请求基础组成部分

一般来说&#xff0c;所有的HTTP Request都有最基础的4个部分组成&#xff1a;URL、 Method、 Headers和body。 &#xff08;1&#xff09;Method 要选择Request的Method是很简单的&#xff0c;Postman支持所有的请求方式。 &#xff08;2&#xff09;URL 要组装一条Request&…

【C++进阶02】多态

一、多态的概念及定义 1.1 多态的概念 多态简单来说就是多种形态 同一个行为&#xff0c;不同对象去完成时 会产生出不同的状态 多态分为静态多态和动态多态 静态多态指的是编译时 在程序编译期间确定了程序的行为 比如&#xff1a;函数重载 动态多态指的是运行时 在程序运行…