文章中修改後的 \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

該指令在column類型的環境\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}`

相關內容