So fügen Sie vor jedem Abschnitt eine horizontale Linie hinzu, indem Sie den Abschnittsstil steuern

So fügen Sie vor jedem Abschnitt eine horizontale Linie hinzu, indem Sie den Abschnittsstil steuern

Ich möchte vor jedem Abschnitt horizontale Linien hinzufügen, genau wie diese

Bildbeschreibung hier eingeben

Manuell kann ich es einfach \rule{\textwidth}{1pt}vor jeden Abschnitt setzen, aber ich möchte eine flexiblere Methode, um dies beispielsweise durch Einfügen mehrerer Codes in die Präambel zu erreichen und so den Stil des Abschnitts zu steuern.

Antwort1

Sie möchten die Regel wahrscheinlich nicht vor dem ersten Abschnitt oder wenn ein Abschnitt oben auf einer Seite beginnt. Der folgende Code erreicht dies.

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{titlesec}

\usepackage{lipsum}

\titleformat{\section}
  {\sectionrule\Large\bfseries}
  {\thesection}
  {1em}
  {}

% this command is executed at each \section command
\newcommand{\sectionrule}{%
  % no rule before the first section
  \ifnum\value{section}=0
  \else
    % otherwise, ensure being between paragraphs
    \par
    % add some vertical space
    \addvspace{\bigskipamount}%
    % the rule realized as leaders, so it disappears at a page break
    % see also http://tex.stackexchange.com/a/61643/4427
    \leaders\vrule width \textwidth\vskip0.4pt
    % some other vertical space
    \bigskip
  \fi
}


\begin{document}

\section{First}

\lipsum[1-3]

\section{Second}

\lipsum[2-6]\lipsum[2]\lipsum[2]

\section{Third}

\lipsum

\end{document} 

Bildbeschreibung hier eingeben

Alternative Lösung mit der Regel am oberen Seitenrand im Falle eines Seitenumbruchs.

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{titlesec}

\usepackage{lipsum}

\titleformat{\section}
  {\sectionrule\Large\bfseries}
  {\thesection}
  {1em}
  {}

\newcommand{\sectionrule}{%
    \par
    \addvspace{\bigskipamount}%
    \hrule
    \nopagebreak
    \bigskip
}

\begin{document}

\section{First}

\lipsum[1-3]

\section{Second}

\lipsum[2-6]\lipsum[2]\lipsum[2]

\section{Third}

\lipsum

\end{document}

Bildbeschreibung hier eingeben

Antwort2

Mit Titlesec geht das ganz einfach:

\documentclass{article}% http://ctan.org/pkg/amsproc

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{titlesec}

\titleformat{\section}{\vbox{\rule{\linewidth}{0.8pt}}\bigskip\LARGE\bfseries}{\thesection}{1em}{}
\begin{document}
\begin{equation}
  v = \sqrt{2gl(\cos\phi_0 - \cos \phi)}
\end{equation}
\section{Section two}

\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen