以下示例中,单列版本中有一个虚假空格。问题似乎是在双列模式下,命令\section
位于“列的开头”,并且之前没有插入空格,而在单列版本中,之前有一个内容,\section
导致标准的前一节跳过插入。
如何删除单列情况下的空格?
(备注:multicol
不是选项。)
\documentclass{article}
\usepackage{lipsum}
\usepackage[latin]{babel}
\long\def\Xonecolumn#1{%
\vbox{\parindent0pt\relax#1\vspace{1ex}}%
}
\long\def\Xtwocolumn#1{\twocolumn[%
\vbox{\parindent0pt\relax#1\vspace{1ex}}%
]}
\let\Xcolumn\Xonecolumn
%\let\Xcolumn\Xtwocolumn
\begin{document}
\Xcolumn{{\Large In the real case, here is a title, authors, an abstract and so on and so forth\par}
\rule[1ex]{\linewidth}{0.4pt}}
\section{My first section}
\lipsum
\end{document}
答案1
好吧,既然没有更好的答案,我将用我的最终解决方案来回答这个问题:
它是一个文章标题,因此在实际使用中,\section
后面总会跟着一个命令。因此,我们可以隐藏此命令引入的初始空格。在我的例子中,这是2.25ex plus 1.25ex minus .2ex
。
因此,正确的解决方案似乎是
\long\def\Xonecolumn#1{%
\vbox{\parindent0pt\relax#1\vspace{1ex}}%
\vspace*{-2.25ex plus -1.25ex minus -.2ex}%
}