如何使有编号的章节和没有编号的章节的章节标题样式不同?

如何使有编号的章节和没有编号的章节的章节标题样式不同?

我使用以下代码来更改章节标题样式

\usepackage{titlesec}

\definecolor{RoyalRed}{RGB}{157,16,45}
\titleformat{\chapter}[display]
  {\centering\normalfont\bfseries\LARGE}
  {\flushright\normalsize\color{RoyalRed}
  \MakeUppercase{\chaptertitlename}\hspace{1ex} \thechapter}{1pc}
  {{\titlerule[0pt]}\vspace{1pc}\MakeUppercase}

但是,我并不想将带有章节号的章节标题置于中央,因此我使用\chapter{Chapter1}而不是\chapter*{Abstract}。我想要两种依赖于\chapter或 的不同标题样式\chapter*

任何帮助都将非常有帮助。

答案1

根据 egreg 的建议,你可以使用

\titleformat{name=\chapter,numberless}[display]
  {\normalfont\bfseries\LARGE}
  {}{1pc}
  {{\titlerule[0pt]}\vspace{1pc}\MakeUppercase}

我还添加了一些行\titlespacing。根据需要调整值。

完整代码:

\documentclass{book}
\usepackage{xcolor,showframe}    %% showframe just for demo
\usepackage{titlesec}

\definecolor{RoyalRed}{RGB}{157,16,45}
\titleformat{\chapter}[display]
  {\centering\normalfont\bfseries\LARGE}
  {\flushright\normalsize\color{RoyalRed}
  \MakeUppercase{\chaptertitlename}\hspace{1ex} \thechapter}{1pc}
  {{\titlerule[0pt]}\vspace{1pc}\MakeUppercase}

\titleformat{name=\chapter,numberless}[display]
  {\normalfont\bfseries\LARGE}
  {}{1pc}
  {{\titlerule[0pt]}\vspace{1pc}\MakeUppercase}

\titlespacing*{\chapter}{0pt}{0pt}{*30}                     %% adjust 30 as per need default is 50
\titlespacing*{name=\chapter,numberless}{0pt}{0pt}{*30}     %% adjust 30 as per need

\begin{document}
  \chapter{Some chapter with number}
  \chapter*{Un-numbered chapter}
\end{document}

在此处输入图片描述

在此处输入图片描述

相关内容