报告中的自定义“maketitle”定义

报告中的自定义“maketitle”定义

下列的回答 我正在尝试自定义报告的封面,这对于文章来说很好,但对于报告来说似乎不起作用。例如:

\documentclass[a4paper,12pt]{article}
\usepackage{geometry}

\makeatletter         
\def\@maketitle{
\raggedright
\begin{center}
{\Huge \bfseries \sffamily \@title }\\[4ex] 
{\Large  \@author}\\[4ex] 
\@date\\[8ex]
\end{center}}
\makeatother

\begin{document}

\title{Report}
\author{Author}
\date{Septembre 2013}

\maketitle

\end{document}

可以,但是当我更改articlereport自定义标题页布局时,布局就丢失了。我可以手动使用例如\begin{titlepage} ..,但我实际上喜欢在其他地方定义标题页(例如自定义.sty文件)并在每个文档中仅包含title{}author{}和的想法date{}

可以以某种方式使用该类来完成此report操作吗?

答案1

\maketitle不是核心命令;它在每个类中都有定义。在 中article,它的定义与report或中的不同book

那为什么不直接重新定义呢\maketitle?不需要重新定义\@maketitle

顺便说一句,为了保持格式,即\raggedright仅适用于标题,您需要将整个内容放在一个组内。

\documentclass[a4paper,12pt]{report} % Not a4paper12pt
\usepackage{geometry}

\makeatletter         
\renewcommand\maketitle{
{\raggedright % Note the extra {
\begin{center}
{\Huge \bfseries \sffamily \@title }\\[4ex] 
{\Large  \@author}\\[4ex] 
\@date\\[8ex]
\end{center}}} % Note the extra }
\makeatother

\usepackage{lipsum}
\begin{document}

\title{Report}
\author{Author}
\date{Septembre 2013}

\maketitle

\lipsum[1]
\end{document}

在此处输入图片描述

相关内容