Как подчеркнуть заголовки разделов в LaTeX?

редактировать: как я вижу в первом ответе, подчеркивание-неправильное слово. Мне нужна строка под заголовком раздела, отделяющая заголовок от следующего текста.

Я хочу отделить заголовки разделов от следующего текста горизонтальной линией. На данный момент я использую следующие:

newcommand{tmpsection}[1]{}
lettmpsection=section
renewcommand{section}[1]{tmpsection{#1}hrulenobreak}

но это создает строку, которая слишком далеко от заголовка раздела и близко к следующему тексту. У кого-нибудь есть идея получше?

5 ответов


вы можете сделать это с помощью на sectsty пакет.


переписывание вашей команды, как это должно сделать трюк:

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

это будет оценено как

\section { \underline {#1} }

который в свою очередь производит подчеркнутые заголовки разделов:)


Я слышал, что titlesec сильнее sectsty пакет, поэтому я просто использовал его. Вы можете поместить горизонтальную линию перед заголовком раздела, используя:

\usepackage{titlesec}
\titleformat{\section}{\large\bfseries}{\thesection}{1em}{\hrule}

или вы можете поставить его после, с помощью newcommand. См. раздел 4.4 руководство titlesec.


вы можете взглянуть на латекс :

\rule[raise-height]{width}{thickness}

однако это встроенная (горизонтальная) команда, поэтому вам придется использовать некоторые хитрости, чтобы получить ее в правильном положении и размере (\noindent и \textwidth должно помочь немного).

в противном случае вы можете использовать следующий простой TeX

\smallskip
\hrule height 2pt
\smallskip

он действительно не вписывается в синтаксис LaTeX, но он работает как шарм и гарантированно охватывает всю ширину текста.


другой способ может быть:

\begin{center}
\line(1,0){400}
\end{center}