我使用beamer
和beamerarticle
来做课堂笔记。我想以与框架内容对齐的方式将其frametitles
作为边注<article>
,但它们的位置有点不对。
该
\marginpar
命令在页边空白处创建一个注释。注释的第一行将与文本中出现 \marginpar 的行具有相同的基线。
所以,我认为这种错位是因为没有线(frametitle
消失)可以作为参考而产生的。你知道该如何改进吗?
前面的示例是通过下面的代码获得的
%\documentclass{beamer}
\documentclass{article}
\usepackage{beamerarticle}
\usepackage{lipsum}
\mode<article>{\setbeamertemplate{frametitle}{%
\marginpar{\insertframetitle\\%
\scriptsize\insertframesubtitle}}}
\begin{document}
\begin{frame}{Frame 1}
\lipsum[1]
\end{frame}
\begin{frame}{Frame 2}
\only<article>{\lipsum[3]}
\lipsum[2]
\end{frame}
\begin{frame}{This is a long frame title}
\lipsum[3]
\end{frame}
\end{document}
答案1
你可以\marginpar
使用\marginnote
marginnote
包;这会自动给你正确的位置:
\documentclass{article}
\usepackage{beamerarticle}
\usepackage{marginnote}
\usepackage{lipsum}
\mode<article>{\setbeamertemplate{frametitle}{%
\marginnote{%
\if\insertframetitle\empty\relax
\else
\insertframetitle\newline%
\fi%
\scriptsize\insertframesubtitle}}}
\begin{document}
\begin{frame}{Title}{Subtitle}
\lipsum[1]
\end{frame}
\begin{frame}{}{Subtitle with no title}
\only<article>{\lipsum[3]}
\lipsum[2]
\end{frame}
\begin{frame}{This is a long frame title}
\lipsum[3]
\end{frame}
\end{document}
我也对原始定义进行了更改,只有提供标题时才有条件地产生换行符。
答案2
边注似乎放错了位置 5pt
,所以只需\vspace{5pt}
在 之前添加\insertframetitle
即可。但是,最好使用相对间距,因为\vspace{.44\baselineskip}
这样也可以与其他字体大小配合使用。