章节与章节之间的垂直间距相同*

章节与章节之间的垂直间距相同*

\chapter*{}我在\frontmatter\chapter{}中使用\mainmatter

我用标题安全章节标题的样式如下:

\documentclass[10pt,a4paper,openany,oneside]{book}
...
\usepackage{titlesec}
\newcommand*{\justifyheading}{\raggedleft}

\titleformat{\chapter}[display]
  {\normalfont\huge\bfseries\justifyheading}
  {\filleft\Large\textsc{\chaptertitlename}~\Huge\thechapter}
  {1ex}
  {\titlerule\vspace{0ex}\filleft}

问题:如何使章节标题处于同一级别?请参阅此屏幕截图中的问题,我希望标题规则处于同一级别(即与顶部的距离相同)。

附加问题:我如何将“第 1 章”推到右侧,以便数字悬挂在边距之外?

答案1

一种可能性是有两个定义:一个用于编号章节,另一个用于未编号章节,使用键numberless。在未编号章节的定义中,一些\phantoms 用于隐藏章节名称和章节编号;对于奖励问题,a\rlap将完成这项工作:

\documentclass{book}
\usepackage[a5paper]{geometry}% just for the example
\usepackage{titlesec}

\newcommand*{\justifyheading}{\raggedleft}

\titleformat{\chapter}[display]
  {\normalfont\huge\bfseries\justifyheading}
  {\filleft\Large\textsc{\chaptertitlename}\rlap{~\Huge\thechapter}}
  {1ex}
  {\titlerule\filleft}
\titleformat{name=\chapter,numberless}[display]
  {\normalfont\huge\bfseries\justifyheading}
  {\filleft\Large\textsc{\phantom{\chaptertitlename}}\rlap{~\Huge\phantom{\thechapter}}}
  {1ex}
  {\titlerule\filleft}

\begin{document}

\chapter{Test Numbered Chapter}
\chapter*{Test Unnumbered Chapter}

\end{document}

在此处输入图片描述

使用您当前的设置,您需要使用允许使用粗体小型大写字母的字体,尽管我建议您只使用小型大写字母(而不是粗体)。

作为芭芭拉·比顿已经建议,您当前的设置将导致标题太接近规则;增加一些间距将产生更好的效果:

\documentclass{book}
\usepackage[a5paper]{geometry}% just for the example
\usepackage{titlesec}

\newcommand*{\justifyheading}{\raggedleft}

\titleformat{\chapter}[display]
  {\normalfont\huge\bfseries\justifyheading}
  {\filleft\Large\textsc{\chaptertitlename}\rlap{~\Huge\thechapter}}
  {1ex}
  {\titlerule\vskip1ex\filleft}
\titleformat{name=\chapter,numberless}[display]
  {\normalfont\huge\bfseries\justifyheading}
  {\filleft\Large\textsc{\phantom{\chaptertitlename}}\rlap{~\Huge\phantom{\thechapter}}}
  {1ex}
  {\titlerule\vskip1ex\filleft}

\begin{document}

\chapter{Test Numbered Chapter}
\chapter*{Test Unnumbered Chapter}

\end{document}

在此处输入图片描述

相关内容