这回答解释如何使用expl3
存储seq
变量来稍后将内容放置在文档中。我想编写一个命令来:
- 将第一个参数写入页面的主流程。
- 将第二个参数写入页面底部的浮动元素的内容。(
tcolorbox
本例中为一个框,但不一定。)此参数实际上只是一个句子,命令应将它们连接成一个段落。 - 仅当当前页面上有足够的空间时才写入这些内容。如果没有,则应使用第一个参数开始一个新页面,并在底部创建一个新的浮动元素,其中包含第二个参数。
这里可能expl3
没有必要,在这种情况下,我欢迎其他方法。
答案1
到目前为止还没有完整的解决方案,只有测试。
\documentclass{article}
\usepackage[a4paper,tmargin=1.5cm,bmargin=1.5cm,rmargin=1.5cm,lmargin=1.5cm]{geometry}
\usepackage{xparse}
\usepackage[most]{tcolorbox}
\newtcolorbox[auto counter]{myfooterbox}[1][]{
colback=yellow!50!white,float,floatplacement={b},title={footer box \thetcbcounter},coltext=black,#1}
\NewDocumentCommand{\writemystuff}{O{}+m+m}{%
#2
\vfill %\push the box to the bottom
\begin{myfooterbox}[#1]
#3
\end{myfooterbox}
}
\usepackage{blindtext}
\begin{document}
\writemystuff{\blindtext[3]}{\blindtext}
\writemystuff{\blindtext}{\blindtext}
\end{document}