我正在寫一篇兩欄文章。在第一列的末尾,我有一個新的部分,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上面的空間
如果無法放大頁面,您可以透過在- 命令\vspace
前後放置一個帶有負值的 - 命令來減少該部分上方和下方的空間\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
在我的系統上減少 with 就足夠了,但您可能必須增加系統上的值,具體取決於您的設定。
注意! 您可能仍會使用該軟體包多列用於網格設定和列平衡。
注意! 最後警告:這種類型的修補絕對應該是完成所有編輯和校對後所做的最後一件事。