编辑:正如我在第一个回答中所看到的,下划线是错误的词。我想在标题下面有一行,将标题与以下文字分开。
我想用水平线将以下文字中的章节标题分开。目前我使用以下内容:
\newcommand{\tmpsection}[1]{}
\let\tmpsection=\section
\renewcommand{\section}[1]{\tmpsection{#1}\hrule\nobreak}
但是这会产生一条直线,离剖面标题太远,接近下面的文字。有没有人有更好的主意?
答案 0 :(得分:7)
像这样重写你的命令应该可以解决问题:
\newcommand{\tmpsection}[1]{}
\let\tmpsection=\section
\renewcommand{\section}[1]{\tmpsection{\underline{#1}}}
这将评估为
\section { \underline {#1} }
反过来产生带下划线的章节标题:)
答案 1 :(得分:7)
您可以使用sectsty package中的\sectionrule
命令执行此操作。
答案 2 :(得分:6)
我听说titlesec
比sectsty
包更强大,所以我刚刚使用它。您可以使用以下方法将水平线放在节标题之前:
\usepackage{titlesec}
\titleformat{\section}{\large\bfseries}{\thesection}{1em}{\hrule}
或者你可以在newcommand的帮助下把它放在后面。请参阅titlesec manual的第4.4节。
答案 3 :(得分:4)
您可以查看LaTeX \rule
命令:
\rule[raise-height]{width}{thickness}
但是,这是一个内联(水平)命令,所以你必须使用一些技巧来使它处于正确的位置和大小(\noindent
和\textwidth
应该有所帮助。)< / p>
否则,您可以使用以下普通TeX
\smallskip
\hrule height 2pt
\smallskip
它并不真正适合LaTeX语法,但它就像魅力一样,并且保证跨越整个文本宽度。
答案 4 :(得分:3)
另一种方式可能是:
\begin{center}
\line(1,0){400}
\end{center}
答案 5 :(得分:0)
使用 titlesec
包,您可以在 \titleformat
命令的最后添加方括号以在节标题后插入一些内容(请参阅 titlesec 文档的第 3.1 节) .例如:
\titleformat{\section}{\normalfont\Large\bfseries}{\thesection}{1em}{}[\hrule]