![将浮动元素放置在第二列末尾](https://linux22.com/image/385613/%E5%B0%86%E6%B5%AE%E5%8A%A8%E5%85%83%E7%B4%A0%E6%94%BE%E7%BD%AE%E5%9C%A8%E7%AC%AC%E4%BA%8C%E5%88%97%E6%9C%AB%E5%B0%BE.png)
我正在编写一个非常简单的海报类。两列中会有一些文本,右列末尾应该有一个文本框/一些浮动。将它们放在底部没有问题,但如何将浮动对象始终放置在右列?
它看起来应该是这样的:
但现在文字较少:
\newpage
如果文本长度超过一列,使用可能会将其推送到第二页。
\documentclass[twocolumn]{article}
\usepackage{blindtext}
\usepackage{float}
\newfloat{foo}{!b}{foo}
\begin{document}
\blindtext[2] % change to 5 to push the foo-box to the second column
\begin{foo}
here will be some sort of text box
\end{foo}
\end{document}
答案1
一个更困难的问题是,如果之后有更多的文本该怎么办。
\documentclass[twocolumn]{article}
\usepackage{blindtext}
\usepackage{float}
\newfloat{foo}{b}{foo}
\makeatletter
\newenvironment{foop}{\if@firstcolumn\newpage\leavevmode\fi
\foo}{\endfoo}
\makeatletter
\begin{document}
\blindtext[2] % change to 5 to push the foo-box to the second column
\begin{foop}[!b]% will be handled by \foo
here will be some sort of text box
\end{foop}
\end{document}