将 titlesec 与 mwrep 类结合使用

将 titlesec 与 mwrep 类结合使用

mwrep在文档中使用 class 并尝试使用 自定义章节标题titlesec。它对于章节和小节有效,但对于章节无效。

这里我读到“该类mwrep使用非标准方式来格式化其分段命令”。

是否仍然可以使用它titlesec来为章节设置样式?还是我应该忘掉它并寻找其他解决方案?

我的 MWE:

\documentclass[12pt,a4paper,polish]{mwrep}
\usepackage[T1]{fontenc}
\usepackage{geometry}
\usepackage{titlesec}


\titleformat{\chapter}[hang]
  {\LARGE\scshape\bfseries}
  {\thechapter}
  {2pc}
  {}

\titleformat{\section}[hang]
  {\large\scshape\rmfamily}
  {\thesection.}
  {1em}
  {\MakeLowercase}

\titleformat{\subsection}[hang]
  {\normalsize\itshape\rmfamily}
  {\thesubsection.}
  {1em}
  {}

\begin{document}

  \chapter{Lorem}
  \section{Ipsum}
  \subsection*{Dolor}

\end{document}

答案1

供本章使用

\SetSectionFormatting[breakbefore,wholewidth]{chapter}
   {56pt}
   {\FormatBlockHeading{\LARGE\scshape\bfseries}}
   {24pt}

对于section并且subsection还有宏,这样你就不需要titlesec

答案2

mwrep因此,我最终阅读了(实际上)的文档mwcls并发现它SetSectionFormatting比我想象的更灵活。

通过访问\HeadingNumber\HeadingText您可以编写例如

\SetSectionFormatting[breakbefore,wholewidth]{chapter}
  {56pt}
  {\large\textbf{\ifHeadingNumbered
    \llap{\fbox{\strut\HeadingNumber.}\enspace}\fi
    \HeadingText}
  }
  {24pt}

将章节编号框挂在边缘 在此处输入图片描述

或者

\SetSectionFormatting[breakbefore,wholewidth]{chapter}
  {56pt}
  {\normalfont\large{
    \ifHeadingNumbered\HeadingNumber.\enspace\fi
    \MakeUppercase{\textls[150]{\HeadingText}}
    }\vspace{1em}\hrule
  }
  {24pt}

将章节标题大写,并增加字母间距(textls来自microtype包)和下面的水平线。

在此处输入图片描述

相关内容