使用 \label 和 \ref 的示例
以下 MWE
\documentclass[12pt]{book}%ext
%\usepackage{hyperref}
\begin{document}
see problem \ref{1} below and problem \ref{5} below.
\chapter{Differential equations}
\section{some section name}
\subsection{problem 1 from some book}
\label{1}
\subsection{problem 2 from some book}
\label{2}
OK.
\chapter{Differential equations second book}
\section{some section name}
\subsection{problem 1 from some second book}
\label{3}
OK.
\subsection{problem 2 from some second book}
\label{5}
OK.
\end{document}
使用编译lualatex foo.tex
给出
在这种情况下,需要进行哪些更改才能\ref{1}
打印出准确的标签名称1
?这样输出就会显示
see problem 1 below and problem 5 below
在阅读 PDF 时,我不在乎子节编号。我需要知道实际问题编号本身,也就是 的参数所指的内容\ref{1}
。当然,单击ref
仍会将我发送到文档中该子节label
所在的实际子节。我只希望显示的内容与1
原样一致。
我使用的标签是全局计数器,每出现一个问题,计数器就增加一。
我查看了大量文档,但至今仍无法弄清楚如何操作。我需要为此使用不同的包吗?还是需要使用 phantomsection?我需要使用 \hyperlink 和 \hypertarget 模拟输出,如下所示。这可能吗?如果不可能,我将继续使用\hyperlink
,\hypertarget
在这种情况下
\hyperlink
使用和的示例\hypertarget
\documentclass[12pt]{book}
\usepackage{hyperref}
\begin{document}
see problem \hyperlink{1}{1} below and problem \hyperlink{4}{4} below.
\chapter{Differential equations}
\section{some section name}
\subsection{problem 1 from some book}
\hypertarget{1}{}
\subsection{problem 2 from some book}
\hypertarget{2}{}
OK.
\chapter{Differential equations second book}
\section{some section name}
\subsection{problem 1 from some second book}
\hypertarget{3}{}
OK.
\subsection{problem 2 from some second book}
\hypertarget{4}{}
OK.
\end{document}
编译上述内容后,它会给出我想要的输出
或者
使用 \label 和 \hyperref 的示例
这是由 gusbrs 在评论中提出的建议
\documentclass[12pt]{book}%ext
\usepackage{hyperref}
\begin{document}
see problem \hyperref[1]{1} below and problem \hyperref[4]{4} below.
\chapter{Differential equations}
\section{some section name}
\subsection{problem 1 from some book}
\label{1}
\subsection{problem 2 from some book}
\label{2}
OK.
\chapter{Differential equations second book}
\section{some section name}
\subsection{problem 1 from some second book}
\label{3}
OK.
\subsection{problem 2 from some second book}
\label{4}
OK.
\end{document}
使用 Tl 2021
答案1
\label
您收到的使用和的建议\ref
通常很合理。但是,正如您在评论中所解释的那样,在您的案例中,您想要引用的“全局计数器”不是 LaTeX 计数器,而是由生成 LaTeX 文档的外部程序在其他地方生成的计数器。从 LaTeX 引用系统的角度来看,这个“计数器”是“任意文本”,在这种情况下,的工具hyperref
似乎是最合适的。
像您一直使用的那样使用\hypertarget
和应该可以正常工作,但是使用和可能会得到一些简化,如下例所示。使用/与/ : 锚点位置之间也存在技术差异。使用后者,超链接锚点将与分段命令一起放置,而使用前者,锚点将位于其下方。实际上,这意味着使用/ 时,当您跟随超链接时,您一定会看到您期望的标题。\hyperlink
\label
\hyperref
\hypertarget
\hyperlink
\label
\hyperref
\label
\hyperref
\documentclass[12pt]{book}
\usepackage{hyperref}
\begin{document}
see problem \hyperref[1]{1} below and problem \hyperref[4]{4} below.
\chapter{Differential equations}
\section{some section name}
\subsection{problem 1 from some book}
\label{1}
\subsection{problem 2 from some book}
\label{2}
OK.
\chapter{Differential equations second book}
\section{some section name}
\subsection{problem 1 from some second book}
\label{3}
OK.
\subsection{problem 2 from some second book}
\label{4}
OK.
\end{document}
这并不意味着您不能以有趣的方式使用\label
和\ref
,但为此,我认为计数器应该在 LaTeX 端处理,例如,如果您使用专用计数器为您的问题创建了一个环境。但这可能会在调整生成文档的程序方面产生一些成本,这是否值得,我无法判断,但您肯定可以。;-)