定义我自己的标题

定义我自己的标题

我如何定义自己的头部,以便每页顶部都显示相同的内容?我想将其用于短文档(最多 5 页),头部如图所示。

但以下方法我并没有成功。

\documentclass[a4paper,12pt]{scrartcl}

\def\makeheadline{
\noindent My name \quad \hfill MM.DD.YYYY
\vspace{5pt}
\hrule height 0.4pt depth 0pt \relax

\begin{center}
\textbf{My Headline}
\end{center}
}

\begin{document}
Hello
\newpage
Page 2
\end{document}

在此处输入图片描述

答案1

要制作 KOMA-Script 类的标题,最好使用scrlayer-scrpage,它是捆绑包的一部分。

您可以将您的代码包含在内\chead{...}

A

\documentclass[a4paper,12pt]{scrartcl}

\usepackage{scrlayer-scrpage}% added <<<<<<<<<<<<<

\setlength{\headheight}{45pt}% make room for the header

\newcommand{\makeheadline}{% custom header
\normalfont
My name  \hfill MM.DD.YYYY
\vspace{1ex}
\hrule height 0.4pt depth 0pt 
\vspace{1.5ex}
\textbf{My Headline}
}

\chead{\makeheadline}% custom header in the chead
\cfoot{Page~\thepage}% page numbering


\usepackage{kantlipsum}% only for dummy text

\begin{document}
    \kant[1-14]
\end{document}

你可以使用该fancyhdr包并忽略(长)警告。此代码将产生类似的结果。

\documentclass[a4paper,12pt]{scrartcl}
    
\setlength{\headheight}{40pt}% make room for the header

\newcommand{\makeheadline}{% custom header
    \normalfont
    My name  \hfill MM.DD.YYYY
    \vspace{1ex}
    \hrule height 0.4pt depth 0pt 
    \vspace{1.5ex}
    \textbf{My Headline}
}


\usepackage{fancyhdr} % added <<<<<
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyhead[C]{\makeheadline}
\fancyfoot[C]{\usekomafont{pageheadfoot}Page~\thepage}


\usepackage{kantlipsum}% only for dummy text

\begin{document}
    \kant[1-14]
\end{document}

答案2

您可以使用标准页面样式,该样式适用于手册页标题(请参阅第 3.18 节中myheadings的描述)。\pagestyle英语或者德语 KOMA-Script 手册):

\documentclass[a4paper,12pt,headlines=2.7]{scrartcl}
\setkomafont{pageheadfoot}{}
\pagestyle{myheadings}

\def\makeheadline{%
  My name\hfill MM.DD.YYYY\\
  \rule[1ex]{\linewidth}{.4pt}
  \centering
  \textbf{My Headline}
}

\markright{%
  \parbox[b]{\linewidth}{\makeheadline}%
}

\usepackage{mwe}

\begin{document}
\Blindtext[5]
\end{document}

无头包括

对于如此大的标题,我也会使用选项headinclude

\documentclass[a4paper,12pt,headlines=2.7,headinclude]{scrartcl}
\setkomafont{pageheadfoot}{}
\pagestyle{myheadings}

\def\makeheadline{%
  My name\hfill MM.DD.YYYY\\
  \rule[1ex]{\linewidth}{.4pt}
  \centering
  \textbf{My Headline}
}

\markright{%
  \parbox[b]{\linewidth}{\makeheadline}%
}

\usepackage{mwe}

\begin{document}
\Blindtext[5]
\end{document}

使用 headclude

注意:使用非常过时的 TeX 安装时(据我所知,TeX Live 2019 之前),定义内部会出现问题\centering。为了避免此问题,您可以更新或使用

\def\makeheadline{%
  My name\hfill MM.DD.YYYY\\
  \rule[1ex]{\linewidth}{.4pt}\\
  \makebox[\linewidth][c]{\textbf{My Headline}}
}

代替

\def\makeheadline{%
  My name\hfill MM.DD.YYYY\\
  \rule[1ex]{\linewidth}{.4pt}
  \centering
  \textbf{My Headline}
}

结果是一样的。

相关内容