titlesec 警告

titlesec 警告

koma-script我正在尝试使用和为章节标题创建自己的样式titlesec。文档编译正常,但会产生一些错误:

Package titlesec Error: Entered in horizontal mode \chapter{Um capítulo de teste}
Missing number, treated as zero \chapter{Um capítulo de teste}
Illegal unit of measure (pt inserted) \chapter{Um capítulo de teste}

MWE 如下:

\documentclass{scrbook}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{brazil}
\usepackage{fontspec}
\usepackage[dvipsnames]{xcolor}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{titlesec}


\titleformat{\chapter}[display]
{\titlerule[.8pt] \vspace{10pt} \bfseries \huge %
{\filleft \hrulefill \chaptertitlename % 
\marginpar{\mbox{\fontsize{60}{72}\selectfont\color{gray}\thechapter} } } } %
{}{\titlerule[5pt] %
\vspace{2pc}%
}{}

\begin{document}
\chapter{Um capítulo de teste}

\end{document}

答案1

你使用错误\titleformat

\documentclass{scrbook}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{brazil}
\usepackage{fontspec}
\usepackage[dvipsnames]{xcolor}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{titlesec}


\titleformat{\chapter}[display]
  {\titlerule[.8pt]\vspace{10pt}\bfseries\huge}% before code
  {\filleft \hrulefill\ \chaptertitlename %
   \smash{\makebox[0pt][l]{\hspace{1cm}\fontsize{60}{72}\selectfont\color{gray}\thechapter}}}% label format
  {1ex}% space before the title part
  {\titlerule[5pt]\vspace{2pc}}% format before the title
  {}% the title

\begin{document}
\chapter{Um capítulo de teste}

\end{document}

不要使用\marginpar,而是使用一个不占用任何空间的“破碎”盒子,如代码所示。

在此处输入图片描述

相关内容