似乎使用\includepdf
和\label
可以链接到上一页。我尝试将 放在\label
选项中pagecommand=
,但这产生了相同的结果。我原本以为使用\label
中的pagecommand=
会将我链接到最后一页。
下面的 MWE 从\includepdf
第二页开始。页码是正确的,但单击它会转到第一页。TeXShop 提供了链接页面的预览,它显示链接指向第 1 页,尽管应该是第 2 页。
代码:
\documentclass{article}
\usepackage{pdfpages}
\usepackage{hyperref}
\def\PdfFile{/usr/local/texlive/2021/texmf-dist/doc/latex/mwe/mwe.pdf}%
\listfiles
\begin{document}
\tableofcontents
\clearpage\newpage
\addcontentsline{toc}{section}{MWE Document}%
\label{MWE Document}%
\includepdf[
frame,
scale=0.90,
page=-,
nup=2x1,
pagecommand={%
\section*{MWE Document}%
%\label{MWE Document}% <-- same result
},
]{\PdfFile}
\end{document}
答案1
标签与链接完全无关。只有使用\ref
某处时它才相关。
目录中的链接通常指向节标题。在这里,您希望它指向\addcontentsline
。为此,您需要一个可以使用设置的锚点\phantomsection
。
\documentclass{article}
\usepackage{pdfpages}
\usepackage{hyperref}
\def\PdfFile{example-image-a4-numbered}%
\listfiles
\begin{document}
\tableofcontents
\clearpage\newpage
\phantomsection %<---------anchor
\addcontentsline{toc}{section}{MWE Document}%
\label{some-label}%
\includepdf[
frame,
scale=0.90,
pages=-,
nup=2x1,
pagecommand={%
\section*{MWE Document}%
},
]{\PdfFile}
\end{document}
pdfpages 有一些自动锚点的选项,请查看文档。
答案2
实现这一点的一种方法是将页面拆分成两个单独的页面\includepdf
:
第一页排版的页面(使用
\addcontentsline
和\label
)和页面的其余部分。由于我使用的是nup=2x1
,所以这是page=1-2
。其余页面不使用
\addcontentsline
和\label
。使用nup=2x1
,这是page=3-
代码:
\documentclass{article}
\usepackage{pdfpages}
\usepackage{hyperref}
\def\PdfFile{/usr/local/texlive/2021/texmf-dist/doc/latex/mwe/mwe.pdf}%
\listfiles
\begin{document}
\tableofcontents
\clearpage\newpage
\includepdf[
frame,
scale=0.90,
page=1-2,
nup=2x1,
pagecommand={%
\section*{MWE Document}%
\addcontentsline{toc}{section}{MWE Document}%
\label{MWE Document}%
},
]{\PdfFile}
\includepdf[
frame,
scale=0.90,
page=3-,
nup=2x1,
pagecommand={%
\section*{MWE Document}%
},
]{\PdfFile}
\end{document}