我正在写一篇两栏文章。在第一栏的末尾我有一个新部分,LaTeX 会拆分该栏并从第二栏开始新部分。我怎样才能强制 LaTeX 填充第一栏所有内容,然后再从第二栏开始新部分?即把部分标题放在第一栏
\documentclass[10pt,a4paper, twocolumn]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage[bottom=2cm]{geometry}
\begin{document}
\blindtext
\blindtext
\blindtext
\section{Section}
\blindtext
\end{document}
答案1
1. 放大页面
一种可能的解决方案是使用命令\enlargethispage{\baselineskip}
局部放大一行页面。当然,您可以尝试其他值。在我的系统上0.25\baselineskip
,将部分和两行移动到上一列就足够了。
\documentclass[10pt,a4paper, twocolumn]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage[bottom=2cm]{geometry}
\begin{document}
\enlargethispage{\baselineskip}
\blindtext
\blindtext
\blindtext
\section{Section}
\blindtext
\end{document}
2. 减少 \section 上方的空间
如果无法扩大页面,您可以在-command\vspace
前后放置一个带有负值的 -command来减少该部分上方和下方的空间\section
。但是,这种方法破坏了 LaTex 背后的一些理念。
\documentclass[10pt,a4paper, twocolumn]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage[bottom=2cm]{geometry}
\begin{document}
%\enlargethispage{\baselineskip}
\blindtext
\blindtext
\blindtext
\vspace{-0.25\baselineskip} %% ---> **Here it is**
\section{Section}
\blindtext
\end{document}
正如您所看到的,在我的系统上减少0.25\baselineskip
就足够了,但是根据您的设置,您可能必须增加系统上的值。
注意! 您当然可以继续使用多色用于网格设置和列平衡。
注意! 最后警告:在完成所有编辑和校对工作后,这种修改应该是你做的最后一件事。