如何在LaTeX中划分部分标题?

时间:2009-09-08 08:03:22

标签: formatting latex tex heading

编辑:正如我在第一个回答中所看到的,下划线是错误的词。我想在标题下面有一行,将标题与以下文字分开。

我想用水平线将以下文字中的章节标题分开。目前我使用以下内容:

\newcommand{\tmpsection}[1]{}
\let\tmpsection=\section
\renewcommand{\section}[1]{\tmpsection{#1}\hrule\nobreak}

但是这会产生一条直线,离剖面标题太远,接近下面的文字。有没有人有更好的主意?

6 个答案:

答案 0 :(得分:7)

像这样重写你的命令应该可以解决问题:

\newcommand{\tmpsection}[1]{}
\let\tmpsection=\section
\renewcommand{\section}[1]{\tmpsection{\underline{#1}}}

这将评估为

\section { \underline {#1} }

反过来产生带下划线的章节标题:)

答案 1 :(得分:7)

您可以使用sectsty package中的\sectionrule命令执行此操作。

答案 2 :(得分:6)

我听说titlesecsectsty包更强大,所以我刚刚使用它。您可以使用以下方法将水平线放在节标题之前:

\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]