![如何更好地调整 beamerarticle 中转换为 marginpar 的 frametitle 的位置?](https://linux22.com/image/273490/%E5%A6%82%E4%BD%95%E6%9B%B4%E5%A5%BD%E5%9C%B0%E8%B0%83%E6%95%B4%20beamerarticle%20%E4%B8%AD%E8%BD%AC%E6%8D%A2%E4%B8%BA%20marginpar%20%E7%9A%84%20frametitle%20%E7%9A%84%E4%BD%8D%E7%BD%AE%EF%BC%9F.png)
我使用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}
这样也可以与其他字体大小配合使用。