放置指向文档最后一节的链接

放置指向文档最后一节的链接

我正在用 LyX 写一份文档,我会随着时间的推移不断添加内容,每次编辑都会添加一个新部分。我在 pdf 属性中启用了超链接,并且有一个目录,可以正确链接到每个部分。但是,为了方便起见,我想在目录之前有一个链接,可以直接跳转到最近(即最后一个)部分的开头。

是否可以访问用于生成目录的变量?或者,我是否可以在文档的最末尾放置一个标签(这将是对子节的引用)并进行一些数学运算以找到该节本身?如果可以,那么我该如何链接到它?

答案1

我不会太认真对待这一点,但它确实有效,即使\section*使用了 。当然,你永远不应该\label{lastsection}在文档中使用 ,而只能使用\ref{lastsection}\pageref{lastsection}

\documentclass{article}
\usepackage{atenddvi}
\usepackage{hyperref}

\makeatletter
\let\latex@@section\section
\renewcommand{\section}{\@ifstar{\new@@ssection}{\@dblarg\new@@section}}
\def\new@@section[#1]#2{%
  \latex@@section[#1]{#2}%
  \xdef\perhaps@last{perhaps@last@\thesection}%
  \label{\perhaps@last}%
}
\newcounter{ssection}
\def\new@@ssection#1{%
  \latex@@section*{#1}%
  \refstepcounter{ssection}%
  \xdef\perhaps@last{perhaps@last@star@\thessection}%
  \label{\perhaps@last}%
}
\AtEndDvi{
\write\@mainaux{%
  \unexpanded{\global\expandafter\let\expandafter\r@lastsection\csname} r@\perhaps@last\endcsname}
}
\makeatother

\begin{document}

Last section is at page \pageref{lastsection}

\tableofcontents

\section{Abc}
abc
\newpage

\section{Def}
def
\newpage

\section{Ghi}
ghi

\end{document}

在此处输入图片描述

答案2

下面的 MWE 实现了我希望实现的功能,但理想情况下,我希望做一些事情,这样我就不必手动添加\newpage\label{sec:lastmeeting}位。我想我需要做一个\renewcommand,但据我所知,这一切都变得有点混乱,因为\section它需要参数。

\documentclass{report}

\usepackage{hyperref}
\usepackage{nameref}
\usepackage{lipsum}


\begin{document}
Last meeting: \nameref{sec:lastmeeting}
\tableofcontents
\newpage\section{Meeting 1}\label{sec:lastmeeting}\lipsum[1-6]
\newpage\section{Meeting 2}\label{sec:lastmeeting}\lipsum[1-6]
\end{document}

相关内容