我对 Latex 还不太熟悉,因此如果有我不知道的解决方案,我深感抱歉。
我对普通格式中的标题/作者/日期的大小和位置有点恼火\documentclass[12pt]{article}
。我很好奇是否有一种简单的方法可以仅更改标题/作者/日期部分的样式。
我找到了一些关于使用 的讨论\begin{titlepage}
,但我不需要单页。我只需要做一些基本的调整。例如,标题在左上角,作者在下一行,日期与作者在同一行但调整到右侧。(类似这样。)
谢谢大家。
答案1
请注意,由于没有提供有关上下文的信息,并且问题缺少最小的工作示例,因此此答案(以及迄今为止发布的其他答案)假设使用标准类,例如article
。 如果您使用的是非标准类(例如 KOMA 类或 Memoir 或 Beamer 或...),那么您显然应该使用您的类提供的设施。
买者自负!
我不想重新发明轮子,而是使用之前有人提供的这个好用的方法,名为titling
。
这不仅使自定义标准标题元素变得容易。它还提供可用于添加其他元素(如果需要)的钩子。此外,它还可以防止\maketitle
丢弃有关标题的信息,因此稍后可能会在标题等中使用。如果需要,您还可以多次使用\maketitle
、titlepage
和来提供相同或不同的信息。titlingpage
幸运的是,你可能不需要所有这些。但它仍然非常方便。
请注意两件事。
代码很长,因为我已经演示了如何重新定义标题的每个元素以及如何使用每个可用的钩子。您极不可能想这样做,因此您的代码无疑会简单得多!
显然,出于审美原因,我不会推荐这种标题排版方式——它太丑了。这是因为我想展示一系列不同的选项,因此,一致性和简单性被抛到了九霄云外。
这是标题的一个相当复杂的定制
\pretitle{% add some rules
\begin{center}
\Huge\bfseries
}%, make the fonts bigger, make the title (only) bold
\posttitle{%
\end{center}%
\noindent\vrule height 2.5pt width \textwidth
\vskip .75em plus .25em minus .25em% increase the vertical spacing a bit, make this particular glue stretchier
}
作者
\preauthor{%
\begin{center}
\Large \lineskip 0.75em%
\vrule height 0.4pt width .25\textwidth\par
\begin{tabular}[t]{@{}l@{}}%
}
\postauthor{%
\end{tabular}
\vskip -.5em
\par
\vrule height 0.4pt width .25\textwidth\par
\end{center}%
}
和日期
\predate{%
\begin{center}
\Large
}
\postdate{%
\end{center}%
}
以下是附加元素的钩子:标题之前
\renewcommand\maketitlehooka{%
\noindent\vrule height 2.5pt width \textwidth
}
标题和作者之间
\renewcommand\maketitlehookb{%
\begin{flushleft}
\itshape
Translated from the original German by
\end{flushleft}%
}
作者和日期之间
\renewcommand\maketitlehookc{%
\begin{flushleft}
\itshape
based on the edition published by Immanuel Kant
\end{flushleft}%
}
以及日期之后
\renewcommand\maketitlehookd{%
\begin{center}%
\itshape --- Here ends the title ---
\end{center}%
}
我们可以使用\thetitle
等来重复使用来自和中的标题\theauthor
信息。\title{}
\author{}
fancyhdr
\fancyhf[ch]{\itshape\thetitle{}}
\fancyhf[rh]{\itshape trans.\ by \theauthor}
完整代码:
\documentclass{article}
\usepackage{titling}% the wheel somebody else kindly made for us earlier
\usepackage{fancyhdr}
\pretitle{% add some rules
\begin{center}
\Huge\bfseries
}%, make the fonts bigger, make the title (only) bold
\posttitle{%
\end{center}%
\noindent\vrule height 2.5pt width \textwidth
\vskip .75em plus .25em minus .25em% increase the vertical spacing a bit, make this particular glue stretchier
}
\preauthor{%
\begin{center}
\Large \lineskip 0.75em%
\vrule height 0.4pt width .25\textwidth\par
\begin{tabular}[t]{@{}l@{}}%
}
\postauthor{%
\end{tabular}
\vskip -.5em
\par
\vrule height 0.4pt width .25\textwidth\par
\end{center}%
}
\predate{%
\begin{center}
\Large
}
\postdate{%
\end{center}%
}
\renewcommand\maketitlehooka{%
\noindent\vrule height 2.5pt width \textwidth
}
\renewcommand\maketitlehookb{%
\begin{flushleft}
\itshape
Translated from the original German by
\end{flushleft}%
}
\renewcommand\maketitlehookc{%
\begin{flushleft}
\itshape
based on the edition published by Immanuel Kant
\end{flushleft}%
}
\renewcommand\maketitlehookd{%
\begin{center}%
\itshape --- Here ends the title ---
\end{center}%
}
% unlike the default command, the redefined \maketitle makes it possible to reuse the title information in the headers
\pagestyle{fancy}
\fancyhf{}
\fancyhf[lh]{\itshape Immanuel Kant}
\fancyhf[ch]{\itshape\thetitle{}}
\fancyhf[rh]{\itshape trans.\ by \theauthor}
\fancyhf[cf]{--- \thepage ---}
\usepackage{kantlipsum}% only for the example
\begin{document}
\author{H. Hong}
\title{Critique of Pure Reason}
\date{c\,1780}
\maketitle
\kant[1-10]
\end{document}
答案2
下面是一个如何重新定义的例子\maketitle
。我没有花任何精力进行设计(这取决于你,我不想冒险惹恼你 ;-),但它展示了如何访问标题、作者和日期。
\documentclass[12pt]{article}
\usepackage{blindtext}
\makeatletter
\renewcommand\maketitle
{\noindent
{\Large\bfseries\@title}%
\medskip\par\noindent
{\large\bfseries\@author}%
\hfill
{\large\@date}%
\bigskip\par\noindent
}
\makeatother
\begin{document}
\title{The Title}
\author{The Name}
\maketitle
\blindtext
\end{document}