fancyhdr 和 rightmark - 如何删除点

fancyhdr 和 rightmark - 如何删除点

我正在使用该fancyhdr软件包为我的文档创建标题。它工作得很好,但在右侧奇数页上我得到的是“1.1. 第 1 节”,但我想要的是“1.1 第 1 节”。你能帮我把点抹掉吗?

\documentclass[12pt,twoside]{report} 
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{fancyhdr}
\pagestyle{fancy}

\renewcommand{\chaptermark}[1]{\markboth{#1}{}} %chapter oben ohne Nummer 
\renewcommand*\MakeUppercase[1]{#1} %macht das nich alles Großgeschrieben wird 

\fancyhead{} %löscht den Standardtext oben 
\fancyhead[LE] {\leftmark} %chaptername=current language bezeichnung für Kapitel, \chaptermark= Titel; Text in{} wird links bzw. rechts gestzt (gerade und ungerade Seiten)
\fancyhead[RO] {\rightmark}
\fancyfoot{}
\fancyfoot[LE,RO] {\thepage} %the page returns page number; R=Right O=Odd page L=LEft E=even page
\renewcommand{\headrulewidth}{0.6pt} %dicke vom Strich
\renewcommand{\footrulewidth}{0pt}
\fancypagestyle{plain}{} % empty pagestyle plan (für Seiten mit Chapter o.ä)
\fancypagestyle{plain}{
    \fancyhf{} % clear all header and footer fields
    \fancyfoot[LE,RO]{\thepage}
    \renewcommand{\footrulewidth}{0pt}
    \renewcommand{\headrulewidth}{0pt}
    }

\begin{document}
\chapter{Chapter1}
\blindtext
\section{Section1}
\blindtext
\subsection{subsection1}
\Blindtext

\end{document}

答案1

添加 \renewcommand{\sectionmark}[1]{\markright{\thesection ~ \ #1}}

A

\documentclass[12pt,twoside]{report} 
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{fancyhdr}
\pagestyle{fancy}

\renewcommand{\chaptermark}[1]{\markboth{#1}{}} %chapter oben ohne Nummer 
\renewcommand{\sectionmark}[1]{\markright{\thesection ~ \ #1}} % added <<<<<<<<<<<<<<<<<<<<<<
\renewcommand*\MakeUppercase[1]{#1} %macht das nich alles Großgeschrieben wird 

\fancyhead{} %löscht den Standardtext oben 
\fancyhead[LE] {\leftmark} %chaptername=current language bezeichnung für Kapitel, \chaptermark= Titel; Text in{} wird links bzw. rechts gestzt (gerade und ungerade Seiten)
\fancyhead[RO] {\rightmark}
\fancyfoot{}
\fancyfoot[LE,RO] {\thepage} %the page returns page number; R=Right O=Odd page L=LEft E=even page
\renewcommand{\headrulewidth}{0.6pt} %dicke vom Strich
\renewcommand{\footrulewidth}{0pt}
\fancypagestyle{plain}{} % empty pagestyle plan (für Seiten mit Chapter o.ä)
\fancypagestyle{plain}{
    \fancyhf{} % clear all header and footer fields
    \fancyfoot[LE,RO]{\thepage}
    \renewcommand{\footrulewidth}{0pt}
    \renewcommand{\headrulewidth}{0pt}
}

\begin{document}
    \chapter{Chapter1}
    \blindtext
    \section{Section1}
    \blindtext
    \subsection{subsection1}
    \Blindtext
    
\end{document}

答案2

如果您希望保持整个结构相同,您可以修补\sectionmark并执行搜索替换;将以下内容添加到您的序言中:

\usepackage{etoolbox}

% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\sectionmark}% <cmd>
  {\thesection.}% <search>
  {\thesection}% <replace>
  {}{}% <success><failure>

\thesection章节编号 ( ) 和章节标题之间已插入空格:

在此处输入图片描述

答案3

添加点\sectionmark,其定义为

\def\sectionmark##1{%
  \markright {\MakeUppercase{%
    \ifnum \c@secnumdepth >\z@
      \thesection. \ %
    \fi
  ##1}}}}

在标准类report和中book,请参阅texdoc classes。您可以重新定义\sectionmark为删除点@SimonDispa 的回答显示。

相关内容