我希望标题与作者和老师的姓名以及日期一起左对齐。我设法让它左对齐,但名称被缩进,这不是我想要的。这是 MWE。
\documentclass[12pt,letterpaper]{article}
\usepackage{lipsum}
\title{TITLE}
\author{
Name \textsc{Last name} \\
Mr. \textsc{Name}
\hspace*{-\tabcolsep}}
\begin{document}
\begingroup
\let\center\flushleft
\let\endcenter\endflushleft
\maketitle
\endgroup
\lipsum[1-10]
\end{document}
答案1
这titling
包是专门为改变 的输出而设计的\maketitle
。其包文档在第 2 页提供了 的标准定义\maketitle
,因此我们只需对其进行修改即可。
请注意这\and
是 LaTeX 介绍多位作者的方式。我还添加了\thanks
作者脚注,只是为了证明它们有效。为了使此解决方案看起来 100% 像您的代码,您必须添加一个字体大小命令,\large
如\preauthor
。
\documentclass[12pt]{article}
\usepackage{titling}
%% Standard `article' settings:
%\pretitle{\begin{center}\LARGE}
%\posttitle{\par\end{center}\vskip 0.5em}
%\preauthor{\begin{center}
%\large \lineskip 0.5em%
%\begin{tabular}[t]{c}}
%\postauthor{\end{tabular}\par\end{center}}
%\predate{\begin{center}\large}
%\postdate{\par\end{center}}
%% Adapted settings:
\pretitle{\begin{flushleft}\LARGE}
\posttitle{\par\end{flushleft}\vskip 0.5em}
\preauthor{\begin{flushleft}}
\postauthor{\end{flushleft}}
\predate{\begin{flushleft}\large}
\postdate{\par\end{flushleft}}
% Change \and to \newline (originally, it basically starts a new column
\renewcommand{\and}{\newline}
\title{TITLE}
\author{
Name \textsc{Last name}\thanks{Foo} \and Mr. \textsc{Name}\thanks{Bar}
}
\usepackage[paperheight=12cm]{geometry}% just for the demo
\begin{document}
\maketitle
Hello World.
\end{document}
答案2
您可以使用该titling
包来格式化标题。或者,您可以\maketitle
从头开始重新定义命令以获得所需的结果;以下是示例:
\documentclass{article}
\title{An outline of intellectual rubbish}
\author{Bertrand Russell}
\makeatletter
\def\@maketitle{%
\newpage
\null
\vskip 2em%
\begin{flushleft}%
\let \footnote \thanks
{\LARGE \@title \par}%
\vskip 1.5em%
{\large
\lineskip .5em%
\noindent
\@author\par}
\vskip 1em%
{\large \@date}%
\end{flushleft}
\par
\vskip 1.5em}
\makeatother
\begin{document}
\maketitle
\end{document}
答案3
该命令在列类型为的环境\author
中执行tabular
c
因此,您可以修补定义以通过以下方式更改表格etoolbox
:
\documentclass[12pt,letterpaper]{article}
\usepackage{lipsum}
\usepackage{array}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@maketitle}{\begin{tabular}[t]{c}}{\begin{tabular}[t]{@{}l}}{}{}
\patchcmd{\@maketitle}{center}{flushleft}{}{}%patches \begin{center}
\patchcmd{\@maketitle}{center}{flushleft}{}{}%patches \end{center}
\makeatother
\title{TITLE}
\author{%
Name \textsc{Last name} \\
Mr. \textsc{Name}
}
\begin{document}
\maketitle
\lipsum[1-10]
\end{document}
然而,简单的使用
\begin{flushleft}
\Large TITLE \\[2\baselineskip]
\large Name \textsc{Last name} \\
Mr. \textsc{Name} \\[1\baselineskip]
\today
\end{flushleft}
也有效。
答案4
例如:
\documentclass[12pt,letterpaper]{article}
\usepackage{lipsum}
\title{TITLE}
%\author{
%Name \textsc{Last name} \\
%Mr. \textsc{Name}
%\hspace*{-\tabcolsep}}
\makeatletter
\renewcommand\maketitle{\begin{titlepage}%
\let\footnotesize\small
\let\footnoterule\relax
\let \footnote \thanks
\null\vfil
\vskip 60\p@
\begin{center}%
{\LARGE \@title \par}%
\vskip 3em%
{\large
\lineskip .75em%
% \begin{tabular}[t]{c}%
\begin{tabular}[t]{@{}l}%
\@author
\end{tabular}\par}%
\vskip 1.5em%
{\large \@date \par}% % Set date in \large size.
\end{center}\par
\@thanks
\vfil\null
\end{titlepage}%
}
\makeatother
\author{%
Name \textsc{Last name}\\
%\hspace*{-2cm}
Mr. \textsc{Name}
%\hspace*{-\tabcolsep}
}
\begin{document}
\begingroup
\let\center\flushleft
\let\endcenter\endflushleft
\maketitle
\endgroup
\lipsum[1-10]
\end{document}`