页眉中节号和文本之间的距离

页眉中节号和文本之间的距离

\subsection{My subsection}当前子节编号 NM 和字符串“My subsection”的生成方式如下:。N.M My subsection这也显示在页眉和目录中。如何同时更改文本、页眉和目录中编号 NM 和字符串之间的水平间距:?下面的示例中写了一些其他问题。

\documentclass[oneside,12pt,a5paper]{article}

\usepackage{geometry}
\usepackage{fancyhdr}
\usepackage{titlesec}
\usepackage{tocloft}

\geometry{paper=a5paper,left=15mm,top=20mm,hmarginratio=1:1,vmarginratio=3:1}

\pagestyle{fancyplain}
\cfoot{}
\fancyhead{}
\fancyhead[CO]{{\rightmark}}
\fancyhead[RO]{{\thepage}}

\renewcommand{\thesubsection}{\arabic{section}.\arabic{subsection}}

\titleformat{\section}{\sffamily}{\thesubsection}{0pt}{}
\titleformat{\subsection}{\sffamily}{\thesubsection}{0pt}{}

\setlength{\cftsecnumwidth}{1em}
\setlength{\cftsubsecnumwidth}{1.7em}
\setlength{\cftsubsubsecnumwidth}{2.5em}

\begin{document}% ----------------------------------------------------

\section{My section}

Why nothing in header?

\clearpage

Two

\clearpage

Three

\clearpage

\subsection{My subsection}

Why there is `Number Space String`?

\clearpage

\subsubsection{My subsection}

Why we have a header below?

\clearpage

\thispagestyle{empty}

\tableofcontents

\end{document}

答案1

fancy包中的页面样式fancyhdr将页眉定义为

\MakeUppercase {\ifnum \c@secnumdepth >\z@ \thesection \hskip 1em\relax \fi #1}

章节标题在哪里#1。所以您在那里看到的距离是1em

章节标题由titlesec包排版。您可以将其定义为

\titleformat{\section}{\sffamily}{\thesubsection}{0pt}{}

首先,您使用\thesubsection(可能是\thesection有意的)。由于这是第 1 节中的第 0 个子节(尚无\subsection命令),因此您获得标签1.0。此外,您将标签和标题之间的距离定义为0pt,这就是您所看到的。

命令\cftsecnumwidth等仅与目录中的条目相关。标签1放入宽度为的框中\cftsecnumwidth。在目录中,部分编号为“1”,而不是“1.0”,因为此时包tocloft负责。

总而言之,您有一个令人困惑的软件包组合。在某些情况下fancyhdr可能titlesec会发生冲突,特别是在运行标题方面。最好使用选项加载toclofttitles,以便目录标题、图表列表等由与其他标题相同的包控制。

在此处输入图片描述

在此处输入图片描述

编辑:我建议从下面的代码开始,然后调整尚不正确的部分。

\documentclass[oneside,12pt,a5paper]{article}
\usepackage
  [paper=a5paper,
   left=15mm,
   top=20mm,
   hmarginratio=1:1,
   vmarginratio=3:1
  ]%
  {geometry}
\usepackage[sf,pagestyles]{titlesec}
\newpagestyle{main}{\sethead{}{\thesection~\sectiontitle}{\thepage}}
\pagestyle{main}
\begin{document}
\section{My section}
Why nothing in header?
\clearpage
Two
\clearpage
Three
\clearpage
\subsection{My subsection}
Why there is `Number Space String`?
\clearpage
\subsubsection{My subsection}
Why we have a header below?
\clearpage
\thispagestyle{empty}
\tableofcontents
\end{document}

相关内容