使用以下代码,TeX 每两个\mybox
秒换行一次,这正是我想要的。
\documentclass{article}
\RequirePackage[a3paper,landscape,twocolumn,columnsep=6cm,left=3cm,right=3cm]{geometry}
\usepackage{lipsum}
\setlength{\parindent}{0pt}
\newcommand{\mybox}[1]{\makebox[0.5\linewidth][l]{#1}\allowbreak\ignorespaces}
\begin{document}
\lipsum[2]
\mybox{AAAA}
\mybox{BBBB}
\mybox{CCCC}
\mybox{DDDD}
\lipsum[2]
\mybox{AAAA}
\mybox{BBBB}
\mybox{CCCC}
\mybox{DDDD}
\end{document}
现在我更改geometry
设置
\RequirePackage[a3paper,landscape,twocolumn,columnsep=6cm,left=3cm,right=3cm]{geometry}
到下面这一行
\RequirePackage[a3paper,landscape,twocolumn,columnsep=4cm,left=5cm,right=3cm]{geometry}
即使linewidth
相同,TeX 也会改变其换行方式。
它有什么问题?以及如何改进\mybox
命令以获得不同的正确结果columnsep
?
答案1
我认为你只是遇到了舍入错误,
\newcommand{\mybox}[1]{\makebox[0.5\linewidth][l]{#1}\allowbreak\hfill\ignorespaces}
在额外的胶水应该是 0pt 的地方起作用,但是......