# Strange behaviour of titlesec, with colored titlerule

With the following MWE, i get the Section title underlined in black :

\documentclass[12pt]{article}
\usepackage[explicit]{titlesec}
\usepackage[dvipsnames]{xcolor}

\titleformat{\section}%
{\large\sffamily\bfseries}%
{Section \arabic{section}}%
{0.5em}%
{#1}%
[{\titlerule[2.5pt]}]

\begin{document}
\section{mon titre}
\end{document}


My first problem : if i remove the { } enclosing \titlerule, i get a compilation error

! LaTeX Error: Missing \begin{document}


Which is strange, since the content of the [ ] is a text to typeset after the section title. For example

[some-after-text]


works. My second problem : if i colorize the rule with

[\textcolor{blue}{\titlerule[2.5pt]}]


I obtain a blue underline, but with an additional vertical space (app 0.5 cm) between the title and the underline. If i use

[{\color{blue}\titlerule[2.5pt]}]


instead, the vertical space disappears... I have to admit, i do not understand that.

-
To see why \textcolor starts a new paragraph (mentioned in @egreg's answer), add \makeatletter\show\@textcolor\makeatother after \titleformat, then inspect your .log file and see that it executes \leavevmode (\@textcolor is just a subsidiary function called by \textcolor). Then read Function and usage of \leavevmode. –  Werner Jan 4 '12 at 22:01
thanks for the information ! –  nicolas roy Jan 5 '12 at 7:41

It's not strange: without the braces, in the first case, the first closing ] is matched with the opening [ that announces the optional argument to \titleformat. An optional argument always goes from the [ to the first ] (at the same brace level).

The second problem is due to the fact that \textcolor starts a paragraph, while \color doesn't. But, as you already discovered, using \color inserts a break point and the rule may go on the following page.

Solution:

\titleformat{\section}
{\large\sffamily\bfseries}
{Section \arabic{section}}
{0.5em}
{#1}
[\titleline{\color{blue}\titlerule[2.5pt]}]

-
thanks a lot for all the information ! –  nicolas roy Jan 5 '12 at 7:40