给小节标题加下划线

给小节标题加下划线

可能重复:
更改文章文档类型的章节标题样式

我正在尝试取消文档中一组子节的标题的划线。为了实现此目的,我定义了一个封装此子节格式的新环境。

我的问题是我无法实现对小节标题文本加下划线。我不想使用该包,sectsty因为如果我这样做,我会与使用该包完成的其他定义发生冲突titlesec

\newenvironment{UnderlineSubSection}{  
    \titleformat{\subsection}  
    {\normalfont\sffamily\bfseries\color{cyan}}  
    {\thesection}{1em}{}  
}{}

答案1

将其定义为命令,就像默认子部分一样。除了包之外,您soul还可以使用ulem

\documentclass[a4paper,12pt]{report}
\usepackage{soul}

\makeatletter
\def\UnderlineSubSection{\@ifnextchar*\UnderlineSubSection@i\UnderlineSubSection@ii}
\def\UnderlineSubSection@i*#1{\subsection*{\ul{#1}}}
\def\UnderlineSubSection@ii{\@ifnextchar[\UnderlineSubSection@iii\UnderlineSubSection@iv}
\def\UnderlineSubSection@iii[#1]#2{\subsection[#1]{\ul{#2}}}
\def\UnderlineSubSection@iv#1{\subsection{\ul{#1}}}
\makeatother

\begin{document}  

\tableofcontents

\section{foo}
\subsection{foo}
\UnderlineSubSection{baz}
\UnderlineSubSection*{foobar}
\UnderlineSubSection[foobarbaz]{foo\_bar\_baz}

\end{document}

在此处输入图片描述

相关内容