我希望枚举列表中的每个项目都有不同的超链接。像这样:
\documentclass{beamer}
\newcommand{\myitem}[2]{\item[\hyperlink{#2}{#1.\arabic{enumi}}]}
\begin{document}
\begin{frame}
\begin{enumerate}
\myitem{1}{destination1} text 1
\myitem{1}{destination2} text 2
\end{enumerate}
\end{frame}
\end{document}
结果应该是:
1.1 text
1.2 text
...
但是这不起作用,每个数字都得到 1.0。我该如何解决这个问题?
答案1
我不确定我是否理解了你的问题,但我得到的是:
- 您想要从指向演示文稿其他地方的某个给定目的地的项目数量中获取超链接(通过设置
\hypertarget{label}{text}
)。 - 您希望自动显示项目的数字。
- (我已经添加了此功能,但我不知道您是否对此感兴趣)您想要获取项目编号为 XY,其中 Y 是当前列表的第 Y 个项目,X 是文档中的第 X 个列表。
这让我想到了这个 MWE
\documentclass{beamer}
\newcounter{totenum}
\setcounter{totenum}{0}
\let\Oldenumerate\enumerate
\def\enumerate{\refstepcounter{totenum}\Oldenumerate}
\newcommand{\myitem}[1]{\refstepcounter{enumi}\item[\hyperlink{#1}{\arabic{totenum}.\arabic{enumi}}]}
\begin{document}
\begin{frame}
\begin{enumerate}
\myitem{destination1} text 1
\myitem{destination2} text 2
\end{enumerate}
\begin{enumerate}
\myitem{destination3} text 3
\myitem{destination4} text 4
\end{enumerate}
\end{frame}
\begin{frame}
\hypertarget{destination1}{The first item is pointing here.}
\end{frame}
\end{document}
对于此输出(仅第一帧):