我想要做的正是这样的:http://www.latex-community.org/forum/viewtopic.php?f=44&p=42626
但作为对所有人的一般命令小节标题。
我觉得我将使用\titleformat
命令,但不确定如何使用。子节的所有其他属性必须保持不变;我唯一想要的更改是从标题结束处添加一行,一直延伸到行末。
答案1
例如,这可以通过\@sect
对负责章节标题排版的命令进行小补丁来实现。
必须筛选特定的部分类型,然后\xrfill
提高大约一半的字母高度(0.5ex
)、规则宽度和规则颜色(参见包文档)(对于这个问题,我使用了一些来自我对这个问题的回答的代码:下划线小节标题)
\documentclass{article}
\usepackage{xhfill}
\newlength{\subsectionrulewidth}
\newlength{\subsectionruleraise}
\setlength{\subsectionrulewidth}{2pt}
\setlength{\subsectionruleraise}{0.5ex}
\newcommand{\subsectionrulecolour}{blue}
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\@sect}{%
#8%
}{%
\ifstrequal{#1}{subsection}{%
#8 \xrfill[\subsectionruleraise]{\subsectionrulewidth}[\subsectionrulecolour]%
}{%
#8 %
}%
}{\typeout{successful patching}}{\typeout{Nope}}
\makeatother
\begin{document}
\tableofcontents
\section{First}
\subsection{Some Title}
\subsection{Some other title}
\subsubsection{No line}
\end{document}