在 \twocolumn 模式下分别控制每列的​​边距

在 \twocolumn 模式下分别控制每列的​​边距

梅威瑟:

\documentclass[a4paper,12pt]{report}

\usepackage{lscape}
\usepackage{geometry}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{forloop}

\defaultfontfeatures{Ligatures=TeX}
\geometry{a3paper, landscape, top=2cm,bottom=2cm,left=3cm,right=2cm}

\begin{document}

\twocolumn

\newcounter{Loop}
\newcounter{LoopTotal}
\setcounter{LoopTotal}{16}

\forloop{Loop}{1}{\value{Loop}<\value{LoopTotal}}{
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas est metus, volutpat sit amet nulla vitae, mattis ornare dolor. Proin fermentum urna in felis iaculis aliquet. Mauris dolor neque, pulvinar rutrum quam a, dictum auctor quam. Integer massa orci, vestibulum at ipsum sed, bibendum condimentum orci. Donec sagittis, lectus lacinia commodo egestas, urna nisl pellentesque elit, imperdiet aliquet est ex eu enim. Suspendisse venenatis elit at turpis lacinia faucibus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Morbi tincidunt consequat turpis, quis venenatis nisi congue sit amet. Integer egestas vel tortor sit amet venenatis. Phasellus ac dignissim neque. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed massa neque, blandit eget lobortis et, dignissim nec ipsum.\par
}

\end{document}

我想缩小每页第二列(仅第二列)的底部边距(我的文档中有复杂的页脚)。在单列文档中,我会使用 来执行此操作\newgeometry{...,bottom=5cm,...}

也许用etoolbox包我可以附加\enlargethispage{-3cm}一些东西,这些东西会在每个第一列的末尾发生?

编辑:该包flowfram对我来说不起作用,因为它与我在文档中使用的其他包发生冲突。

答案1

我找到了使用\AtBeginShipout钩子的简单解决方案。

\documentclass[a4paper,12pt]{report}

\usepackage{lscape}
\usepackage{geometry}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{forloop}
\usepackage{atbegshi}

\defaultfontfeatures{Ligatures=TeX}
\geometry{a3paper, landscape, top=2cm,bottom=5cm,left=3cm,right=2cm}

\begin{document}

\twocolumn

\AtBeginShipout{
\enlargethispage{3cm}
}

\newcounter{Loop}
\newcounter{LoopTotal}
\setcounter{LoopTotal}{16}

\enlargethispage{3cm}
\forloop{Loop}{1}{\value{Loop}<\value{LoopTotal}}{
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas est metus, volutpat sit amet nulla vitae, mattis ornare dolor. Proin fermentum urna in felis iaculis aliquet. Mauris dolor neque, pulvinar rutrum quam a, dictum auctor quam. Integer massa orci, vestibulum at ipsum sed, bibendum condimentum orci. Donec sagittis, lectus lacinia commodo egestas, urna nisl pellentesque elit, imperdiet aliquet est ex eu enim. Suspendisse venenatis elit at turpis lacinia faucibus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Morbi tincidunt consequat turpis, quis venenatis nisi congue sit amet. Integer egestas vel tortor sit amet venenatis. Phasellus ac dignissim neque. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed massa neque, blandit eget lobortis et, dignissim nec ipsum.\par
}

\end{document}

虽然我还没有找到明确控制第二列边距的方法,但这帮助我为每个第一列更改它,然后使用几何包(bottom=5cm)偏移整个页面,因此它具有完全相同的效果。

相关内容