使用 titlesec 时章节标题会消失吗?

使用 titlesec 时章节标题会消失吗?

我正在用 LaTeX 写一篇论文,我想使用titlesec自定义标题样式,当我尝试将我的自定义样式应用到我的章节标题时,它起作用了。

但是,当我尝试将自定义样式应用到我的部分时,部分标题消失了,如下图所示:

这是我的标题中的代码:

\documentclass[a4paper,12pt,oneside]{book}
%header information
\usepackage{blindtext, array, color}
\definecolor{gray75}{gray}{0.75}
\newcommand{\hsp}{\hspace{20pt}}
\usepackage[explicit]{titlesec}

\titleformat{\chapter}[block]{\Huge\bfseries}{\color{gray75}\thechapter}{20pt}{\begin{tabular}[t]{@{\color{gray75}\vrule width 2pt}>{\hsp}l}#1\end{tabular}}

\titleformat{\section}[block]
{\Large\bfseries}{\color{gray75}\thesection}{12pt}{}

\usepackage{graphicx}
\usepackage{amsmath}
\usepackage[style=ieee,backend=bibtex]{biblatex}
\usepackage[paper=a4paper,left=25mm,right=25mm,top=25mm,bottom=25mm]{geometry}
\usepackage{setspace}
\usepackage{fancyhdr} 
\renewcommand{\headrulewidth}{0pt}
\fancyhf{}
\cfoot{\thepage}
\pagestyle{fancy} 
\setstretch{1.3}
\DeclareGraphicsExtensions{.pdf,.png,.jpg}
\newcommand{\abbrlabel}[1]{\makebox[3cm][l]{\textbf{#1}}}
\newenvironment{abbreviations}{\begin{list}{}{\renewcommand{\makelabel}{\abbrlabel}}}{\end{list}}
\addbibresource{references.bib}

\begin{document}

我不明白发生了什么事!

答案1

由于您正在使用explicit,因此该部分的代码应为

\titleformat{\section}[block]
{\Large\bfseries}{\color{gray75}\thesection}{12pt}{#1}

但是,我通常不喜欢使用该选项:如果您定义一个合适的单参数宏并将代码保存在不同的位置,则会更容易,从而减少混乱。

\documentclass[a4paper,12pt,oneside]{book}

\usepackage{color}
\usepackage{array}
\usepackage{titlesec}

\definecolor{gray75}{gray}{0.75}

\titleformat{\chapter}[block]
  {\Huge\bfseries}
  {\color{gray75}\thechapter}
  {20pt}
  {\formatchapter}

\titleformat{\section}[block]
  {\Large\bfseries}
  {\color{gray75}\thesection}{12pt}
  {}

\newcommand{\formatchapter}[1]{%
  \begin{tabular}[t]{@{\color{gray75}\vrule width 2pt}>{\hspace{20pt}}l}
  #1
  \end{tabular}%
}

\begin{document}

\chapter{State of the art}

\section{First section}

\end{document}

在此处输入图片描述

相关内容