![如何在不使用 fancyhdr 的情况下格式化报告中不带斜体的标题?](https://linux22.com/image/237705/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E4%BD%BF%E7%94%A8%20fancyhdr%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E6%A0%BC%E5%BC%8F%E5%8C%96%E6%8A%A5%E5%91%8A%E4%B8%AD%E4%B8%8D%E5%B8%A6%E6%96%9C%E4%BD%93%E7%9A%84%E6%A0%87%E9%A2%98%EF%BC%9F.png)
我正在写一份报告。我设置了\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
(如果使用它们的话)。