当使用 时\pause
,即使链接文本和链接本身(在 中)都出现,beamer
由 创建的链接边框也会出现hyperref
\href{}
后。\pause
我怎样才能延迟边框直到链接文本真正出现?
\documentclass{beamer}
\setbeamertemplate{navigation symbols}{}
\hypersetup{colorlinks = false, urlbordercolor = 0 1 0, pdfborder = 0 0 .5}
\begin{document}
\begin{frame}
Here a link will appear:\pause
\href{https://www.google.com/}{Google}
\end{frame}
\end{document}
答案1
正如 percusse 提到的他的评论,\only<>
将延迟由以下因素创建的边界hyperref
:
\documentclass{beamer}
\setbeamertemplate{navigation symbols}{}
\hypersetup{colorlinks = false, urlbordercolor = 0 1 0, pdfborder = 0 0 .5}
\begin{document}
\begin{frame}
\begin{itemize}
\item A link will appear below:
\only<2->{\item \href{https://www.google.com/}{Google}}
\end{itemize}
\end{frame}
\end{document}
然而, 的一个众所周知的问题是,当添加的范围内时,\only
它会改变前几行的位置,因为直到它最终出现时才看到该项目,之后它必须将前几行向上推以便为新的 腾出空间。item
\item
\only
beamer
\item
\item
为了避免这种情况,最好\pause
在 之前使用\item
(因为这样beamer
才能“看到”它),并且只让链接\href{}
在 的范围内\only
。由于\href{}
它无论如何都不会占用输出中的空间,因此它不会影响项目或文本的放置。
\documentclass{beamer}
\setbeamertemplate{navigation symbols}{}
\hypersetup{colorlinks = false, urlbordercolor = 0 1 0, pdfborder = 0 0 .5}
\begin{document}
\begin{frame}
\begin{itemize}
\item A link will appear below:\pause
\item \only<2->{\href{https://www.google.com/}}{Google}
\end{itemize}
\end{frame}
\end{document}