我正在写一份报告。我设置了\pagestyle{headings}
看起来不错,但将章节格式化为斜体而不是普通字体。如何在不使用的情况下将其更改为普通字体或粗体fancyhdr
?
下面是一个示例:
第 5 章 安装和使用 二十六
下面是一个示例:
第 5 章。安装和使用 26
答案1
您必须修改内部标题定义。您使用 twoside 选项吗?请提供一个最小示例。
越位的解决方案:
\documentclass{report}
\makeatletter
\def\ps@headings{%
\let\@oddfoot\@empty
\def\@oddhead{\bfseries{\rightmark}\hfil\thepage}%
\let\@mkboth\markboth
\def\chaptermark##1{%
\markright {\MakeUppercase{%
\ifnum \c@secnumdepth >\m@ne
\@chapapp\ \thechapter. \ %
\fi
##1}}}
}
\makeatother
\pagestyle{headings}
\begin{document}
\setcounter{chapter}{4}
\chapter{Installation und Benutzung}
\clearpage
\mbox{}
\end{document}
你用德语写的。你应该使用 KOMA 类,如 scrreprt。为什么不使用类似scrpage2
或fancyhdr
答案2
这是页面样式(单面)\chaptermark
的定义:report.cls
headings
\def\chaptermark#1{%
\markright {\MakeUppercase{%
\ifnum \c@secnumdepth >\m@ne
\@chapapp\ \thechapter. \ %
\fi
#1}}}
您的需求似乎有两个:“KAPITEL 1.”粗体和章节标题中等字体。还有要\@oddhead
记住的定义:
\def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
我们必须改变这两个命令的作用方式:
\makeatletter
\def\chaptermark#1{%
\markboth {\MakeUppercase{%
{\bfseries\ifnum \c@secnumdepth >\m@ne
\@chapapp\ \thechapter.} \ %
\fi
#1}}{}}
\def\@oddhead{\rightmark\hfil\thepage}
\newcommand\tableofcontents{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\contentsname
\@mkboth{%
{\bfseries\MakeUppercase\contentsname}}
{{\bfseries\MakeUppercase\contentsname}}}%
\@starttoc{toc}%
\if@restonecol\twocolumn\fi
}
\makeatother
thebibliography
对于和的定义也应该做类似的调整theindex
(如果使用它们的话)。