![更新命令章节](https://linux22.com/image/264034/%E6%9B%B4%E6%96%B0%E5%91%BD%E4%BB%A4%E7%AB%A0%E8%8A%82.png)
只是一个简短的问题:我想更新章节命令,以便我可以操纵标题中章节编号和章节标题之间的距离,目前我已将标题定义为:
\renewcommand{\chaptername}{}
\fancyhead[L]{\hspace{4mm}\textcolor{headercolor}{\leftmark}\\ \text{ }\textcolor{headercolor}{\hspace{0.4cm}\rightmark}\hfill\textcolor{headercolor}{}\hspace{2mm}}
\renewcommand{\headrule}{\vspace{-\headheight}\textcolor{headercolor}{\vrule height \headheight width 2pt\relax\rule{\textwidth}{2pt}\vrule height \headheight width 2pt\relax}}
现在我想改变章节标记/章节名称,以便我可以操纵数字和标题之间的距离。
例如,目前它说 1. INTRODUCTION 但我想增加 1. 和 INTRODUCTION 之间的间距?
我知道这不是一个有效的例子,但我希望你能很快明白我的意思。
答案1
KOMA 脚本
使用 KOMA-Script 类非常容易。宏\chaptermarkformat
在标题中设置章节号,并且可以重新定义,例如:
\documentclass{scrbook}
\makeatletter
\g@addto@macro{\chaptermarkformat}{\hspace{1em}}
\makeatother
\pagestyle{headings}
\begin{document}
\chapter{First chapter}
\newpage
Some text.
\end{document}
(\g@addto@macro{\cmd}{stuff}
附加stuff
到无参数宏cmd
)。
包裹fancyhdr
使用包fancyhdr
或标准类,距离是硬编码的,\chaptermark
在页面样式命令中定义。因此它变得更丑陋,因为页面样式命令也需要重新定义,例如:
\documentclass{book}
\usepackage{fancyhdr}
\newlength{\marknumsep}
\setlength{\marknumsep}{1.5em}% Change to your needs
\makeatletter
\def\ps@fancy{%
\@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}%
\@ifundefined{MakeUppercase}{\def\MakeUppercase{\uppercase}}{}%
\@ifundefined{chapter}{%
\def\sectionmark##1{%
\markboth{%
\MakeUppercase{%
\ifnum \c@secnumdepth>\z@
% \thesection\hskip 1em\relax % ORIGNAL
\thesection\hskip\marknumsep % NEW
\fi
##1%
}%
}{}%
}%
\def\subsectionmark##1{%
\markright{%
\ifnum \c@secnumdepth >\@ne
% \thesubsection\hskip 1em\relax % ORIGINAL
\thesubsection\hskip\marknumsep % NEW
\fi
##1%
}%
}%
}{%
\def\chaptermark##1{%
\markboth{%
\MakeUppercase{%
\ifnum \c@secnumdepth>\m@ne
% \@chapapp\ \thechapter. \ % ORIGINAL
\thechapter\hskip\marknumsep % NEW
\fi
##1%
}%
}{}%
}%
\def\sectionmark##1{%
\markright{%
\MakeUppercase{%
\ifnum \c@secnumdepth >\z@
% \thesection. \ % ORIGINAL
\thesection.\hskip\marknumsep % NEW
\fi
##1%
}%
}%
}%
}%
\ps@@fancy
\gdef\ps@fancy{\@fancyplainfalse\ps@@fancy}%
\ifdim\headwidth<0sp
\global\advance\headwidth123456789sp%
\global\advance\headwidth\textwidth
\fi
}
\makeatother
\pagestyle{fancy}
\begin{document}
\chapter{First chapter}
\newpage
Some text.
\end{document}
现在可以通过长度来控制标题中数字和文本之间的距离\marknumsep
。示例还删除了“章节”/“附录”前缀(\@chapapp
)。