我正在寻找以下问题的解决方案。
在我目前正在编写的一本书中,有很多对其他页面的引用 - 例如“亲爱的读者,请看一下第 555 页关于这个问题的讨论”。
现在的问题是,在 latex/pdf 输出中,所述讨论可能会出现在与纸质原文不同的页面上。
当然,我可以编译乳胶源...看看“讨论”最终出现在 pdf 输出中的哪个页面,并相应地修改乳胶源。
现在,除了这是一个相当繁琐的过程,需要数百页的交叉引用(并且容易出错)之外,还有一个问题,由于我的视力多年来一直在下降,我可能会在某个时候将字体大小从 10pt 更改为 12pt......或者决定我需要一个小屏幕版本,并将纸张尺寸从 A7 更改为 A5......或者任何你能想象到的会导致原始纸质书上的“讨论”最终出现在第 666 页或第 777 页或第 1234 页......等等。
我想知道 LaTeX 中是否有任何东西可以帮助以一种巧妙的……我们可以说……方式来处理这个问题……例如,将页码变成某种变量对象,在第 7 次编译通过后得到解析;-)
显然,在我的 pdf 版纸质书的页码后面有一个超链接,如果读者愿意点击或长按页码,就可以立即转到原文第 555 页的“问题讨论”。
因此,处理此问题的不太聪明的方法自然是省略引起问题的页码,并将链接移到“问题讨论”文本后面。毕竟,纸质书中的这些“转到第 555 页”可以被视为过去 html 样式链接的遗留版本。这可能是我最终会做的事情——只是页码的好处在于,一旦读者知道了它,他就会很快养成点击它的习惯,而不必通过将链接改为不同的颜色来提醒他……在其下划线……等等。在我看来,这会破坏文本的外观。
另一方面,我可以忽略这种差异(可能用一个简短的介绍性说明,解释在这种情况下页码是指原始印刷书籍的页码),以避免读者点击第 555 页……他首先看到的是他被带到了第 987 页……让他觉得自己的立场确实不稳,页码没有任何意义。
有什么建议么?
谢谢,
无国界记者组织
答案1
你把简单的事情搞复杂了!只需使用\pageref
。
\documentclass[a6paper]{article}
\usepackage[margin=1em,
paperheight=4cm,bmargin=2cm]{geometry}
\usepackage{lipsum}
\usepackage[colorlinks]{hyperref}
\begin{document}
\section{Intro}
Gentle reader, take a look at a discussion
of this issue on page \pageref{dis}
\newpage
(many, many pages more ...)
\setcounter{page}{554}
\newpage
\section{Discussion}\label{dis}
This in the discussion.
\end{document}