![使用 allowframebreaks 调整 beamer 幻灯片中段落间分页符的优先级](https://linux22.com/image/384651/%E4%BD%BF%E7%94%A8%20allowframebreaks%20%E8%B0%83%E6%95%B4%20beamer%20%E5%B9%BB%E7%81%AF%E7%89%87%E4%B8%AD%E6%AE%B5%E8%90%BD%E9%97%B4%E5%88%86%E9%A1%B5%E7%AC%A6%E7%9A%84%E4%BC%98%E5%85%88%E7%BA%A7.png)
allowframebreaks
我有一些具有一些基本结构的breamer 滑梯,例如:
\begin{frame}[fragile,allowframebreaks]{Title}
some text...
\begin{itemize}...\end{itemize}
other text
\begin{itemize}...\end{itemize}
another text
\begin{lstlisting}...\end{lstlisting}
\end{frame}
我不希望内容在文本和随后的列表/代码之间中断(尽管中断列表或列表列表可能是可以的)。换句话说,我希望在段落之间以最高优先级中断。当然,我不想使用显式的\framebreak
s。
我尝试将其放在\nopagebreak
文本部分和随后的 itemize/lstlisting 之间,但似乎不起作用。另外,我不想将它们包装在 中\minipage
,因为我不想使代码混乱(此外,使用命令可能会出现列表问题)。因此,“自动”配置对我来说是最好的。
有什么建议吗?
平均能量损失
\documentclass[9pt]{beamer}
\usepackage{lipsum}
\usepackage{listings}
\begin{document}
\begin{frame}[fragile,allowframebreaks]{Title}
abcdef\\
ghilmn\\
pqrst
\begin{lstlisting}
a
b
c
d
e
f
\end{lstlisting}
abcdef\\
ghilmn\\
pqrst
\begin{lstlisting}
a
b
c
\end{lstlisting}
some text 1
\begin{lstlisting}
a
b
c
d
\end{lstlisting}
uvz\\
123\\
456
\begin{lstlisting}
a
b
c
\end{lstlisting}
uvz\\
123\\
456
\begin{lstlisting}
a
b
c
\end{lstlisting}
some text 2
\begin{itemize}
\item a
\item b
\item c
\end{itemize}
\end{frame}
\end{document}
我不想要的是下图中突出显示的部分:
答案1
\framebreak
您可以在“一些文本”之前手动使用来影响断点:
\documentclass[9pt]{beamer}
\usepackage{lipsum}
\usepackage{listings}
\begin{document}
\begin{frame}[fragile,allowframebreaks]{Title}
abcdef\\
ghilmn\\
pqrst
\begin{lstlisting}
a
b
c
d
e
f
\end{lstlisting}
abcdef\\
ghilmn\\
pqrst
\begin{lstlisting}
a
b
c
\end{lstlisting}
\framebreak
some text 1
\begin{lstlisting}
a
b
c
d
\end{lstlisting}
uvz\\
123\\
456
\begin{lstlisting}
a
b
c
\end{lstlisting}
uvz\\
123\\
456
\begin{lstlisting}
a
b
c
\end{lstlisting}
\framebreak
some text 2
\begin{itemize}
\item a
\item b
\item c
\end{itemize}
\end{frame}
\end{document}
如果运气好的话,减少填充框架的比例也可能会影响断点,但你必须幸运地找到一个适用于所有幻灯片的值。以下是适用于第一张幻灯片的值:
\documentclass[9pt]{beamer}
\usepackage{lipsum}
\usepackage{listings}
\begin{document}
\begin{frame}[fragile,allowframebreaks=0.80]{Title}
abcdef\\
ghilmn\\
pqrst
\begin{lstlisting}
a
b
c
d
e
f
\end{lstlisting}
abcdef\\
ghilmn\\
pqrst
\begin{lstlisting}
a
b
c
\end{lstlisting}
some text 1
\begin{lstlisting}
a
b
c
d
\end{lstlisting}
uvz\\
123\\
456
\begin{lstlisting}
a
b
c
\end{lstlisting}
uvz\\
123\\
456
\begin{lstlisting}
a
b
c
\end{lstlisting}
some text 2
\begin{itemize}
\item a
\item b
\item c
\end{itemize}
\end{frame}
\end{document}