文章中修改后的 \maketitle 没有缩进

文章中修改后的 \maketitle 没有缩进

我希望标题与作者和老师的姓名以及日期一起左对齐。我设法让它左对齐,但名称被缩进,这不是我想要的。这是 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中执行tabularc

因此,您可以修补定义以通过以下方式更改表格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}`

相关内容