为链接和索引部分标题定义命令?

为链接和索引部分标题定义命令?

定义命令的(首选方式)是什么

  • 放置标题(如 \section、\chapter 等)
  • 为该标题创建一个可引用的标签
  • 将标题放在目录中(我认为目录部分是相当自动化的,是吗?)
  • 将标题放在索引中

定义引用命令的(首选方式)是什么

  • 放置标题的引用以及标题的名称和页码
  • 在生成 PDF 时将此引用设为链接
  • 也许有一些关于如何拼写引用的选项

为此需要什么包?

例子:

\headx[label1]{This is a heading}
...
\headxx[label12}]{Some sub-heading}
...
...
For further details, see \headreference[style=short]{label1}.
...

(编辑)注意:[style=...]可以控制插入哪些详细信息。例如,short可以表示仅插入章节名称作为链接(并跳过章节编号和页面)。Full可以表示还插入章节编号和页面作为链接的文本。(这只是一个例子,表明我认为这样的命令可能应该有一些微调开关。)

答案1

超链接包可以帮你完成几乎所有需要做的事情。查看它的文档(例如通过texdoc hyperref在命令行上运行)并仔细查看“其他用户宏”部分。以下是一些宏定义,可帮助你入门:

\documentclass{book}
\usepackage{hyperref}

\newcommand{\mychapter}[2][???]{\chapter{#2}\label{#1}}
\newcommand{\verylongref}[1]{%
  \hyperref[#1]{\autoref*{#1} with title `\nameref*{#1}' in page \pageref*{#1}}%
}

\begin{document}

\mychapter[hello]{Hello World}

This is \verylongref{hello}.

\end{document}

请注意\mychapter命令具有我们正在寻找的接口,但它有两个问题:“可选”参数并不是真正可选的,因为(当然)你需要为章节分配标签;此外,\chapter已经有一个可选参数(用作运行标题的短标题),现在无法再通过命令访问\mychapter。也许最好继续写\chapter{..}\label{..}

相关内容