tcolorbox
我在使用带有类的breakable 时遇到了几个问题beamer
。对于其中一些问题,虽然找到了解决方法,但我仍然想知道是否存在更自动化和更优雅的解决方案。
对于以下问题,假设beamer
使用文档类并且将选项allowframebreaks
添加到frame
环境中。
问题 1.如何让breakabletcolorbox
自动断开?
解决方法1:break at=<length1>
手动设置。
问题2. 如何垂直居中中间中断序列的部分(如果有的话)?(第一的和最后的各部分按预期垂直居中。}
解决方法:设置enlarge top at break by=<length2>
和break at=<length1>/<length1 + length2>
扩大中间和最后一部分的顶部分隔符,保持这两部分的文字内容高度不变,但这也会增加最后一部分的顶部分隔符,导致定位不理想。
它无法将任何橡胶长度传递给键enlarge top at break by
,因此我必须使用“80pt”之类的东西来模拟垂直居中。我如何添加\vfill
中间部分之前和之后之类的东西?有一个键名为vfill before first=<bool>
第一部分,但没有类似的键用于中间部分。
问题 3. 如何在休息前添加“继续”等提醒文字?
解决方法:用于bottomsep at break=<length>
腾出一些空间,并finish first and middle=<graphical code>
添加提醒文字。
问题 4。一般来说,如何分别在第一、中间和最后一部分的中断前后插入代码,以改变它们的几何形状、文本内容和其他内容?
extras={<options>}
关键家庭的医生说
几何和断裂设置不应在这里使用,...
因此extras
密钥系列不适合这里。<code>
传递给密钥before
和after
仅用于休息序列的第一部分之前和最后一部分之后。
因此这两个键也不适合。
在任何情况下都生成页面的 MWE:
\documentclass{beamer}
\usepackage{lipsum}
\usepackage{tcolorbox}
\tcbuselibrary{breakable, skins}
\tcbset{breakable}
\newcommand{\frameDemo}{
\begin{frame}[allowframebreaks]
\begin{tcolorbox} \lipsum[2-3] \end{tcolorbox}
\end{frame}
}
\begin{document}
% without any workarounds
\frameDemo
\tcbset{
% workaround for question 1
break at=100pt,
}
\frameDemo
\tcbset{
% workaround for question 1 & 2
break at=100pt/180pt,
enlarge top at break by=80pt,
}
\frameDemo
\tcbset{
% workaround for question 1, 2 & 3
finish first and middle={
\node[anchor=south east]
at ([xshift=-2pt]interior.south east)
{\itshape continued};
},
bottomsep at break=.7\baselineskip
}
\frameDemo
\begin{frame}[allowframebreaks]
\fontsize{120}{120}\selectfont empty page
\end{frame}
\end{document}
组装这些投影仪页面的助手:
\documentclass[landscape, a4paper]{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages={1-2,16,16,16,3-6,16,7-10,16,11-15}, nup=5x5, frame, delta=5 5]{breakable-in-beamer-texsx.pdf}
\end{document}