Нет отступа в измененном \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

Thetitlingпакет специально разработан для изменения вывода \maketitle. В документации пакета приведены стандартные определения \maketitleна странице 2, поэтому нам просто нужно изменить это.

Обратите внимание, что \andэто способ LaTeX представить нескольких авторов. Я также добавил \thanksсноски авторов, просто чтобы продемонстрировать, как они работают. Чтобы это решение выглядело на 100% как ваш код, вам придется добавить команду размера шрифта, например, \largeto \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}`

Связанный контент