\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
会发生冲突,特别是在运行标题方面。最好使用选项加载tocloft
包titles
,以便目录标题、图表列表等由与其他标题相同的包控制。
编辑:我建议从下面的代码开始,然后调整尚不正确的部分。
\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}