
Я хочу, чтобы название было выровнено по левому краю вместе с именем автора и учителя и датой. Мне удалось выровнять его по левому краю, но имя с отступом, это не то, что мне нужно. Вот 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% как ваш код, вам придется добавить команду размера шрифта, например, \large
to \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}`