使 \maketitle 在双列文档中仅跨越一列

使 \maketitle 在双列文档中仅跨越一列

我想写一个横向的两列文档。有人知道是否可以使用该\maketitle命令使标题只位于左列而不跨越整个页面吗?

答案1

使用时geometry包设置你的landscapetwocolumn模式,\maketitle行为符合预期:

在此处输入图片描述

\documentclass{article}
\usepackage[landscape,twocolumn]{geometry}% http://ctan.org/pkg/geometry
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\author{An author}
\title{A title}
\begin{document}
\maketitle
\lipsum
\end{document}

答案2

\maketitle这是文章类的默认设置。我们可以对命令(负责横跨两列的标题)和进行一些修补\@maketitle。第二组修补旨在不让标题垂直向下移动,而是从第二列开始。

\documentclass[twocolumn,landscape]{article}
\usepackage{etoolbox}
\makeatletter
% Remove the brackets so LaTeX sees \twocolumn\@maketitle
\patchcmd{\maketitle}
  {[\@maketitle]}
  {\@maketitle}
  {}{}
% Remove the vertical shift from the title
\patchcmd{\@maketitle}
  {\null\vskip2em\begin{center}}
  {\vspace*{0pt}\nointerlineskip\begingroup\centering}
  {}{}
% In the final part we must remove \end{center}
\patchcmd{\@maketitle}
  {\end{center}\par}
  {\par\endgroup}
  {}{}
\makeatother
\usepackage{kantlipsum}
\begin{document}
\title{Title}
\author{Author}
\maketitle
\section{Section}
\kant[1-4]
\end{document}

在此处输入图片描述

答案3

利用 egreg 在对 Werner 的回答的评论中所做的观察,我们可以得到一个非常简单的解决方案:

\documentclass[12pt,twocolumn]{article}
\usepackage{lipsum}
\title{Untitled}
\author{Me}
\begin{document}
\makeatletter
\@twocolumnfalse
\maketitle
\@twocolumntrue
\makeatother
\lipsum[1-2]
\end{document}

我们所要做的就是假装我们处于单列模式:)

相关内容