hyperref 中的 hypertexnames 和 naturalnames 之间的区别

hyperref 中的 hypertexnames 和 naturalnames 之间的区别

文档对于hyperref读取:

hypertexnames-- 布尔值 -- 使用可猜测的链接名称

naturalnames-- 布尔值 -- 使用 LaTeX 计算的链接名称

就这样。问题hypertexnames解决了——naturalnames甚至是第三种命名方案的含义,或者naturalnames=true暗示了hypertexnames=false

也许相关:此设置是否会影响与其他软件包的兼容性?建议始终hyperref在所有其他软件包之后包含它,还是有例外?

答案1

当选项设置为时(默认情况下是这种情况),该naturalnames选项会有所不同。本质上,将前者设置为hypertexnamestruetrue 可能如果你正在使用

  1. 添加交叉引用元素(例如新的浮点类型)
  2. 不允许由hyperref包裹
  3. 本身并不允许该hyperref包裹。

引用记录源代码包装内容hyperref

任何可以引用的东西都会向前推进一些;[…]。这意味着引入新元素的类或包需要为\theH<name>每个定义一个等效项\the<name>。我们确实设置了一个陷阱,使\theH<name>相同于\arabic{<name>},如果\theH<name>没有定义,但这不一定是个好主意。或者,该naturalnames选项使用 LaTeX 提供的任何内容,这可能是有用的。但随后由您来确保这些是合法的 PDF 和 HTML 名称。

相关内容