现在,我已看到一个办法适用于提问者的例子环境(使用\predisplaysize
)。但是,我想要的解决方案有点不同。特别是,我尝试使用\titleformat
:
\documentclass[12pt]{article}
\usepackage{xcolor, lipsum}
\usepackage[calcwidth]{titlesec}
\definecolor{carmine}{rgb}{0.68, 0.0, 0.09}
\titleformat{\section}[hang]{\Large\sffamily\bfseries}
{\color{carmine}\S$\,$\thesection}{0.5em}{\color{black}}
%This creates a rule that matches the full page's width, rather than the title's
[\vspace{-1.5em}\rule{\textwidth}{0.2pt}]
\begin{document}
\section{Introduction}
\lipsum[1-1]
\end{document}
这看起来像:
到目前为止,我尝试使用titlesec
都没有成功。当用作\titlewidth
的参数时\rule
,我发现下划线完全消失了。此外,文档绘制一条(全页宽度的)规则多于部分名称。
有没有办法在与标题宽度相同的部分标题下创建规则?
答案1
这不是很好的风格,但我们开始吧......
文档提到,使用该hang
选项(顺便说一下,这是默认选项)可能会出现标题测量错误的情况。您可以使用block
与 hang 相同的样式,只要您没有多行标题即可。
另外,我建议使用[T1]
字体编码,因为这将加载cmsuper
具有bold
版本的§
,并且我不认为您想将规则提高 1.5em:这会使其穿过标题。 1.5ex
更为明智。
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xcolor, lipsum}
\usepackage[calcwidth]{titlesec}
\definecolor{carmine}{rgb}{0.68, 0.0, 0.09}
\titleformat{\section}[block] {\Large\sffamily\bfseries}
{\color{carmine}\S\,\thesection}{0.5em}{\color{black}}
%This creates a rule that matches the full page's width, rather than the title's
[\vspace{-1.5ex}\rule{\titlewidth}{0.2pt}]
\begin{document}
\section{Introduction.}
\lipsum[1-1]
\end{document}
笔记:
如果您确实有多行章节标题,那么有一种解决方法可以使标题与样式一致block
。