我使用一个模板来beamer
重新定义块环境,以制作真实的阴影、轮廓和自定义弯曲角。它的外观非常漂亮,但不幸的是,它会产生副作用,即块环境中的超链接位置不正确。如果可能的话,我想保留模板的原样并更正链接位置。
链接的位置太高,这似乎是由这里引入的垂直偏移引起的,它只影响文本而不影响链接:
\pgfputat{\pgfpoint{0pt}{-3ex}}{\pgftext[left,base]{\copy\bmb@bodybox}}
平均能量损失
\documentclass{beamer}
\usepackage[backref=true, backend=biber]{biblatex}
\bibliography{biblatex-examples}
\usepackage{tikz}
\setbeamertemplate{blocks}[rounded]
\makeatletter
\newbox\bmb@headbox
\newbox\bmb@bodybox
\renewcommand\beamerboxesrounded[2][]{%
\setkeys{beamerboxes}{upper=block title,lower=block body,width=\textwidth}%
\setbox\bmb@headbox=\hbox{%
\begin{minipage}[b]{\bmb@width}%
#2%
\end{minipage}}%
\setbox\bmb@bodybox=\hbox\bgroup\begin{minipage}[b]{\bmb@width}%
}
\def\endbeamerboxesrounded{%
\end{minipage}\egroup%
\begin{tikzpicture}
\pgfputat{\pgfpoint{0pt}{0pt}}{\pgftext[left,base]{\copy\bmb@headbox}}
\pgfputat{\pgfpoint{0pt}{-3ex}}{\pgftext[left,base]{\copy\bmb@bodybox}}
\end{tikzpicture}
}
\makeatother
\begin{document}
\begin{frame}
\begin{block}{This is the block title}
This is where the citation occurs \cite{kastenholz}
\end{block}
\end{frame}
\end{document}
答案1
在文本全部排版后使用这种低级文本定位将破坏超链接,因为\bmb@bodybox
它们已经被处理过了。如果你显示该框,你会发现链接为
\pdfstartlink(*+*)x* attr{/Border[1 1 1]/H/N/C[.5 .5 .5]} action goto name{cite.0@kastenholz}
(使用 pdfTeX)。如果你读过pdfTeX 手册,你会发现这些是绝对定位的。因此,移动此材料的唯一方法是在将其排版到 之前进行移动\bmb@bodybox
。这实际上是一个单独的问题,因为我们需要知道想要什么效果。