EDIT: As I see in the first answer, underline is the wrong word. I want a line under the section heading, separating the heading from the following text.
<Another way could be:
\begin{center}
\line(1,0){400}
\end{center}
Rewriting your command like this should do the trick:
\newcommand{\tmpsection}[1]{}
\let\tmpsection=\section
\renewcommand{\section}[1]{\tmpsection{\underline{#1}}}
This will evaluate to
\section { \underline {#1} }
which in turn produces underlined section headings :)
I've heard that the titlesec
is more powerful than sectsty
package, so I've just used it. You can put the horizontal line before the section header using:
\usepackage{titlesec}
\titleformat{\section}{\large\bfseries}{\thesection}{1em}{\hrule}
or you can put it after, with the help of newcommand. See section 4.4 of the titlesec manual.
You can do this with the \sectionrule
command in the sectsty package.
You might take a look at the LaTeX \rule
command:
\rule[raise-height]{width}{thickness}
However, that's an inline (horizontal) command, so you'll have to use some trickery to get it at the right position and size (\noindent
and \textwidth
should help a little).
Otherwise, you can use the following plain TeX
\smallskip
\hrule height 2pt
\smallskip
It doesn't really fit in the LaTeX syntax, but it works like a charm, and is guaranteed to span the entire text width.