我想写一个横向的两列文档。有人知道是否可以使用该\maketitle
命令使标题只位于左列而不跨越整个页面吗?
答案1
使用时geometry
包设置你的landscape
和twocolumn
模式,\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}
我们所要做的就是假装我们处于单列模式:)