将标题保留在第一列,而不是在两列上方

将标题保留在第一列,而不是在两列上方

我正在使用以下代码:

\documentclass[twocolumn]{article}
\usepackage[landscape]{geometry}
\usepackage{lipsum, parskip}
\geometry{a4paper, twoside, left=1.5cm, right=1.5cm, marginparwidth=1.2cm, marginparsep=3mm, top=1cm, bottom=2cm}
\begin{document}
\title{Title\\
\large subtitle}
\date{2021}
\author{Author name}
\maketitle

\centering
\lipsum
\end{document}

正确呈现为:渲染的 LaTeX 但是我希望标题只显示在第一列上方,而不是同时显示在第一列上方,这样第二列就可以使用其释放的空间。有什么简单的方法可以做到这一点?

答案1

您可以修补\maketitle\@maketitle代替

\twocolumn[\@maketitle]

但您可能还希望标题与第二列从同一级别开始。因此您还需要修补\@maketitle

\documentclass[twocolumn]{article}
\usepackage[landscape]{geometry}
\usepackage{parskip}

\usepackage{etoolbox}

\usepackage{lipsum}

\geometry{
  a4paper,
  twoside,
  left=1.5cm,
  right=1.5cm,
  top=1cm,
  bottom=2cm,
  marginparwidth=1.2cm,
  marginparsep=3mm,
}

\makeatletter
\patchcmd{\maketitle}
 {\twocolumn[\@maketitle]}
 {\@maketitle}
 {}{}
\patchcmd{\@maketitle}
 {\null\vskip2em}
 {\hrule height0pt\vspace{-2\topsep}\vspace{-2\parskip}}
 {}{}
\makeatother

\begin{document}

\title{Title\\\large subtitle}
\date{2021}
\author{Author name}

\maketitle

\lipsum

\end{document}

在此处输入图片描述

答案2

不要使用,\maketitle而是手动设置标题:

在此处输入图片描述

\documentclass[twocolumn]{article}

\usepackage[landscape]{geometry}
\usepackage{lipsum, parskip}
\geometry{
  paper=a4paper,
  twoside,
  hmargin=1.5cm,
  marginparwidth=1.2cm,
  marginparsep=3mm,
  top=1cm,
  bottom=2cm
}

\begin{document}

\begin{center}
  \LARGE % Title font size
  Title \par
  \large % Subtitle font size
  subtitle
  
  \vspace{1.5em}% Space between title and author
  
  \large % Author font size
  Author name
  
  \vspace{1em}% Space between author and date
  
  \large % Date font size
  \today
\end{center}

\lipsum

\end{document}

在上面的文档中,center环境用于设置标题组件,\@maketitle格式和间距直接取自环境。当然,您可以根据需要进行调整。

答案3

只需使用打印标题的代码(\@maketitlearticle类代码中)。

% twocolprob.tex  SE 608946

\documentclass[twocolumn]{article}
\usepackage[landscape]{geometry}
\usepackage{lipsum, parskip}
\geometry{a4paper, twoside, left=1.5cm, right=1.5cm, marginparwidth=1.2cm, marginparsep=3mm, top=1cm, bottom=2cm}

%%%%% just print the title
\makeatletter
\let\onecolmaketitle\@maketitle
\makeatother
%%%%%
\begin{document}
\title{Title\\
\large subtitle}
\date{2021}
\author{Author name}
\onecolmaketitle
\centering  %%% to me this gives a strange look
\lipsum
\end{document}

在此处输入图片描述

相关内容