latex 跳转标签_在 LaTeX 中使用交叉引用

简介

在用 Word 编辑文档时,遇见的最为烦恼的问题莫过于,在文中用到“如图 x-x 所示”的表示时,当修改文章时,换掉了整篇文章图表的编号,再去修改文中引用到的编号不胜其烦。在 LaTeX 中可以通过交叉引用十分方便的解决该问题(ps: Word 里面也有交叉引用的功能,但用起来不是 那么方便)。在 LaTeX 中几乎可以实现对所有的自动编号内容引用的自动化管理。本篇文章是对 LaTeX 中的交叉引用做一个简要的介绍。在 LaTeX 中的交叉引用可以通过下面一对命令实现,顾名思义,简单的意思就是在引用之前先标记。

\label{marker}

??

引用章节

首先来做一个简单的章节应用示例:

\section{交叉引用}

\subsection{引用章节}\label{subsection1}

\subsection{引用图表}

在 \ref{subsection1} 小节中我们介绍了如何在\LaTeX 中引用章节,这节我们给出一个引用图表的示例。

示例结果:

引用图表

引用图表示例:

在 \ref{subsection1} 节中我们介绍了如何在 LaTeX 中引用章节,这节我们给出一个引用图表的示例。

\begin{figure}[h]

\centering

\includegraphics[width=0.3\linewidth]{logo.png}

\caption{ElegantLaTeX Logo}

\label{fig:logo}

\end{figure}

图 \ref{fig:logo} 是 ElegantLaTeX 的 Logo。

引用数学式

\begin{equation}

E = mc^{2}

\label{eq:1}

\end{equation}

在式\ref{eq:1}的质能方程中$m$表示物体的质量。

引用页

引用页示例:

通过\pageref{subsection1}页节\ref{subsection1}的介绍,能基本了解在\LaTeX中交叉引用的用法了。

以上三个示例结果如图:

相关宏包

交叉引用作为\LaTeX中最为实用的功能之一,不少的宏包都对其进行了扩展其中最为常用的是amsmath, varioref, cleveref以及hyperref。在amsmath宏包中通过命令eref来实现引用varioref中有vref命令,cleveref中有cref命令,在hyperref则叫autoref,通过下面的例子可以简单比较不同宏包中引用命令在格式上的差异。

\begin{equation}\label{eq:2}

\sum_{i=0}^{\infty} a_i x^i

\end{equation}

首先通过vref命令来引用等式\vref{eq:2},eref也可以引用式\eqref{eq:2}, cref命令自然也行\cref{eq:2},最后我们再来试试autoref吧,召唤等式\autoref{eq:2}。

 在这里需要简要的提一下几个命令之间的不同:varioref宏包的vref命令可以通过宏包提供的 labelformat 命令来定义引用的格式,但是vref命令不能根据上下文来决定引用的格式,如通常在句子开头需要用“Equation 1”但在中间或者末尾用”eq.1″即可,autoref命令可以实现引用之间的跳转,但该命令使用的默认超链接格式有个红框,个人认为比较丑,cref命令在自定义格式方面功能更加强大,eqref只能用于数学式子。下面是从stackflow上面引用的一个例子,自定义cref不等式引用。

\cref{ab,cd} and \cref{ab,cd,ef}

\begin{equation}

\label[ineqs]{ab}

a>b

\end{equation}

and

\begin{equation}

\label[ineqs]{cd}

c>b

\end{equation}

and

\begin{equation}

\label[ineqs]{ef}

e>f

\end{equation}

运行结果如下图所示:

文件之间的交叉引用

通过上面的例子基本上能完成文章的交叉引用需要了,但在我们撰写长篇文章时,需要将tex文件分成好几个文件,此时,可以通过zr宏包来实现不同文件之间的交叉引用,示例:文件example.tex

\documentclass{article}

\usepackage{xr}

\externaldocument{chapterI}

\begin{document}

this is section \ref{conclusion}

\end{document}

文件chapterI.tex

\section{Conclusion}\label{conclusion}

需要注意的是在使用中文测试时,编译完后生成的引用会是??,但是在英文中没有问题,具体解释有待进一步探索。

选自:http://elegantlatex.org/2015/02/06/latex-cross-reference/

©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论

打赏作者

韧笔

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值