在一个上一个问题我指出,插入 Beamer 笔记页面的迷你幻灯片(缩略图)会导致标签重复和超链接损坏(请参阅 Percusse 的回答下的评论 2)。
我发现如果我转到beamerouterthemedefault.sty
并\defbeamertemplate*{note page}{default}
注释掉该行下的行
\hfill\insertslideintonotes{0.25}\hskip-\Gm@rmargin\hskip0pt%
\vskip-0.25\paperheight%
\nointerlineskip
这解决了这个问题,因为迷你幻灯片不再插入。我现在需要与我的主管分享我的 LaTeX 代码,所以我想知道是否有类似于对另一个问题的回答我的可以用来“修补”这些行,以便在编译时进行注释,这样我就不必指示其他人手动注释掉这些行。在这个问题中,展示了如何使用来xpatch
修改 Beamer 组件。
所以,我的主要问题是如何制作这个补丁。
我的后续问题或附加问题是,有没有更好的方法来解决迷你幻灯片的问题?我首先想到的是以下几点:
这似乎是 Beamer 的一个错误,而且很容易修复。迷你幻灯片在插入之前不能去掉标签吗?迷你幻灯片实际上只是一种视觉辅助工具,因此不需要在其中引用内容。
作为对 #1 的改进,如果在插入迷你幻灯片时,标签能够被 Beamer 或 Latex 自动重命名,那就更好了。
如果 #1 或 #2 可以通过补丁解决,那就太好了,但如果可以将其作为错误修复纳入 Beamer,那就更好了。这样做需要做什么,或者通常会如何发生?
谢谢。
答案1
如果您真正需要的是删除这些代码行,则无需更改原始的 .sty 文件(事实上,这是不可取的);相反,您只需在文档的序言中添加.tex
以下代码行即可:
\makeatletter
\setbeamertemplate{note page}
{%
{%
\scriptsize
\insertvrule{.25\paperheight}{white!90!black}
\vskip-.25\paperheight
\nointerlineskip
\vbox{
%\hfill\insertslideintonotes{0.25}\hskip-\Gm@rmargin\hskip0pt%
%\vskip-0.25\paperheight%
%\nointerlineskip
\begin{pgfpicture}{0cm}{0cm}{0cm}{0cm}
\begin{pgflowlevelscope}{\pgftransformrotate{90}}
{\pgftransformshift{\pgfpoint{-2cm}{0.2cm}}%
\pgftext[base,left]{\footnotesize\the\year-\ifnum\month<10\relax0\fi\the\month-\ifnum\day<10\relax0\fi\the\day}}
\end{pgflowlevelscope}
\end{pgfpicture}}
\nointerlineskip
\vbox to .25\paperheight{\vskip0.5em
\hbox{\insertshorttitle[width=8cm]}%
\setbox\beamer@tempbox=\hbox{\insertsection}%
\hbox{\ifdim\wd\beamer@tempbox>1pt{\hskip4pt\raise3pt\hbox{\vrule
width0.4pt height7pt\vrule width 9pt
height0.4pt}}\hskip1pt\hbox{\begin{minipage}[t]{7.5cm}\def\breakhere{}\insertsection\end{minipage}}\fi%
}%
\setbox\beamer@tempbox=\hbox{\insertsubsection}%
\hbox{\ifdim\wd\beamer@tempbox>1pt{\hskip17.4pt\raise3pt\hbox{\vrule
width0.4pt height7pt\vrule width 9pt
height0.4pt}}\hskip1pt\hbox{\begin{minipage}[t]{7.5cm}\def\breakhere{}\insertsubsection\end{minipage}}\fi%
}%
\setbox\beamer@tempbox=\hbox{\insertshortframetitle}%
\hbox{\ifdim\wd\beamer@tempbox>1pt{\hskip30.8pt\raise3pt\hbox{\vrule
width0.4pt height7pt\vrule width 9pt
height0.4pt}}\hskip1pt\hbox{\insertshortframetitle[width=7cm]}\fi%
}%
\vfil}%
}%
\vskip.25em
\nointerlineskip
\insertnote
}
\makeatother