我正在使用我所在大学提供的文档类撰写论文thesis.cls
。该大学自己的指导方针规定,论文中可以使用页眉“只要整个页面上有一条线将页眉与文本分开”。但使用\pagestyle{headings}
(大学论文类中定义的页面样式)不会形成水平线。
以下是定义页面样式的相关代码片段headings
。
\if@twoside
\def\ps@headings{
\def\@oddfoot{}\def\@evenfoot{} % No feet.
\def\@evenhead{\rmfamily \thepage\hfil \slshape \leftmark} % Heading on left for even pages. .
\def\@oddhead{{\slshape \rightmark}\hfil \rmfamily\thepage} % Heading on right for odd pages.
\def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne
\@chapapp\ \thechapter. \ \fi ##1}}{}}%
\def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@
\thesection. \ \fi ##1}}}
}
\else
\def\ps@headings{
\def\@oddfoot{}\def\@evenfoot{} % No feet.
\def\@oddhead{{\slshape \rightmark} \hfil \rmfamily\thepage} % Heading.
\def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne
\@chapapp\ \thechapter. \ \fi ##1}}}
}
\fi
如何在标题下添加水平线?
答案1
您可以更新\@evenhead
并\@oddhead
后设置好后\pagestyle{headings}
,即在序言中的某处,您应该有以下内容:
\makeatletter
\newcommand{\insertheaderrule}{\rlap{\rule[-.3\normalbaselineskip]{\textwidth}{.4pt}}}
\let\old@evenhead\@evenhead \let\old@oddhead\@oddhead
\def\@evenhead{\insertheaderrule\old@evenhead}% Prepend \insertheaderrule
\def\@oddhead{\insertheaderrule\old@oddhead}% Prepend \insertheaderrule
\makeatother
上面我们创建了\insertheaderrule
并将其添加到\@evenhead
和前面。它设置了长度、宽度和\@oddhead
的规则,比正常基线跳过低 30%。我们使用 确保它不会占用水平空间。\textwidth
.4pt
\rlap