titlesec:章节后居中双线,宽度不同

titlesec:章节后居中双线,宽度不同

我希望我的章节标题由两条不同宽度和粗细的线分隔(并且所有内容都位于页面的中心),如下所示:

 1 Some Chapter
     ----
 ############

这个问题实际上可能归结为如何实现这些不同的中心线,因为这就是我正在努力解决的问题。在谷歌上搜索“双重规则”和类似术语没有找到任何符合我特定需求的东西。以下是我迄今为止最好的镜头的 MWE:

\documentclass{book}
\usepackage{titlesec}

\titleformat{\chapter}[block]{\centering\Large\sffamily\bfseries}{\Huge\ttfamily\thechapter}{0.25em}{}[{\rule[1em]{0.5\textwidth}{0.4pt}\vspace{1pc}\begin{center}\makebox{\rule[2\baselineskip]{0.8\textwidth}{0.6pt}}\end{center}}]


\begin{document}

\chapter{Lorem Ipsum}

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\end{document}

实际上,简单的 \hrule 和 \vspace 命令可能更接近,但规则不居中。当我搜索“center hrule”时,解决方案使用了 \rule,所以我最终使用了它。然而现在,让它们彼此下方并具有适当的垂直间距已成为一件麻烦事。我束手无策,希望得到一些指导。

答案1

titlesec支持此类规则,请查看 的文档\titlewidth。您可以尝试根据需要调整此示例:

\documentclass{book}
\usepackage[calcwidth]{titlesec}

\titleformat{\chapter}[block]
  {\filcenter\Large\sffamily\bfseries}
  {\Huge\ttfamily\thechapter}
  {0.25em}
  {}
  [{
    \begingroup
      \setlength{\titlewidth}{0.5\titlewidth}
      \titleline*[c]{\titlerule[.3pc]}
    \endgroup
    \addvspace{9pt}
    \begingroup
      \setlength{\titlewidth}{1.5\titlewidth}
      \titleline*[c]{\titlerule[.6pc]}
    \endgroup
    \addvspace{9pt}
    \begingroup
      \setlength{\titlewidth}{\columnwidth}
      \titleline*[c]{\titlerule[.6pc]}
    \endgroup  
  }]

\begin{document}

\chapter{Lorem Ipsum}

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem
ipsum dolor sit amet.

\end{document}

在此处输入图片描述

相关内容