如何将标题格式中的章节号调整改为前景

如何将标题格式中的章节号调整改为前景

我尝试设置当前文档的布局。但是在自定义章节编号时遇到了问题。

我想要类似 bjornstrup 风格的布局并使用 titleformat。

我该如何格式化 \chapternumber 以在前台进行调整?或者有什么解决方法吗?也许我的 {-20pt} 完全错了,还有一种更简单的方法可以在定义的区域中设置 chapternumber?

谢谢您的帮助。

这是我的 MWE:

\documentclass[12pt,a4paper,twoside]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[explicit]{titlesec}
\usepackage{blindtext}
\usepackage{xcolor}

\titleformat
{\chapter}      
[display]
{\Huge\bfseries\itshape}
{\textcolor{gray}{\thechapter}}
{-20pt}
{\colorbox{gray!30}{\parbox[c][40pt][c]{\linewidth}{\Large\scshape\centering#1}}}

\begin{document}

\chapter{I am the first Chapter}

\blindtext

\end{document}

我的输出如下:

在此处输入图片描述

答案1

您可以将章节编号放在灰色框内,如下所示:

{\colorbox{gray!30}{\rlap{\raisebox{20pt}[0pt][0pt]{\textcolor{gray}{\thechapter}}}\parbox[c][40pt][c]{\linewidth-2\fboxsep}{\Large\scshape\centering#1}}}

顺便说一句,我减小了 的宽度\parbox2\fboxsep以便colorbox和文本一样宽。您需要使用\usepackage{calc}才能使其工作。或者,您可以设置\fboxsep0pt

答案2

使用block样式,并在的最后一个参数中使用章节编号\titleformat

\documentclass[12pt,a4paper,twoside]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[explicit]{titlesec}
\usepackage{blindtext}
\usepackage{xcolor}

\titleformat
{\chapter}
[block]
{\Huge\itshape\bfseries}
{}
{0pt}
{\colorbox{gray!30}{\makebox[0pt]{~\raisebox{13pt}[0pt]{\color{gray}\thechapter}}\parbox[c][40pt][c]{\linewidth}{\Large\scshape\centering#1}}}

\begin{document}

\chapter{I am the first Chapter}

\blindtext

\end{document} 

在此处输入图片描述

相关内容