Die Farbe von Überschriften kann ich bei KOMA-Script einfach einstellen durch \setkomafont oder \addtokomafont, beispielsweise durch

\addtokomafont{sectioning}{\color{white}}

Jedoch möchte ich eine Hintergrundfarbe einstellen, beziehungsweise Überschriften in eine farbige Box mit Textbreite setzen. Hier ist mein Ansatz als Makro:

\documentclass{scrartcl}
\usepackage{xcolor}
\addtokomafont{sectioning}{\color{white}}
\newcommand*{\heading}[1]{\colorbox{blue!70}{%
  \usekomafont{sectioning}#1}\par\bigskip}
\begin{document}
\heading{Einleitung}
Es folgt Text.
\end{document}

Überschrift mit Hintergrundfarbe

Das würde ich nur gern analog als \section, \subsection oder \paragraph verwenden, für richtige Überschriften, die auch im Inhaltsverzeichnis auftauchen. Wie ginge das?

Falls KOMA-Script-Features das nicht direkt abbilden können, ist auch TikZ oder PSTricks oder andere Lösung sehr willkommen.

gefragt 26 Jul '13, 04:13

Felix's gravatar image

Felix
1.3k225366
Akzeptiert: 89%

bearbeitet 26 Jul '13, 04:35

Clemens's gravatar image

Clemens
19.0k113060


Die in diesem Beitrag beschriebene Lösung sollte ab KOMA-Script 3.19 nicht mehr verwendet werden. Sie stellt lediglich eine Notlösung für ältere Versionen von KOMA-Script dar!

Man sollte es kaum für möglich halten, aber die Schnittstelle zur Schriftumschaltung bei KOMA-Script gibt das tatsächlich her. Man kann nämlich bei den meisten Elementen als letzten Befehl auch einen Befehl angeben, der ein Argument erwartet:

Open in Online-Editor
\documentclass{scrartcl}
\usepackage{xcolor}
\usepackage[ngerman]{babel}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß},
}
\usepackage{blindtext}
\newsavebox\cbgbox
\newcommand*{\colorbackground}[1]{%
  \sbox\cbgbox{\color{white}\ignorespaces#1}%
  \ifdim\wd\cbgbox>\linewidth
    \colorbox{blue!70}{%
      \parbox[t]{\linewidth}{\color{white}\ignorespaces#1}%
    }%
  \else
    \colorbox{blue!70}{\usebox\cbgbox}%
  \fi
}
\addtokomafont{section}{\colorbackground}% ACHTUNG: Muss das letzte
                                % \addtokomafont{section} sein!
\addtokomafont{subsection}{\colorbackground}% ACHTUNG: Muss das letzte
                                % \addtokomafont{subsection} sein!
\addtokomafont{subsubsection}{\colorbackground}% ACHTUNG: Muss das letzte
                                % \addtokomafont{subsubsection} sein!
\addtokomafont{paragraph}{\colorbackground}% ACHTUNG: Muss das letzte
                                % \addtokomafont{paragraph} sein!
\begin{document}
\title{Farbig hinterlegte Überschriften mit \KOMAScript}
\author{Enrico Saputello}
\maketitle
\begin{abstract}
Dieses Beispiel zeigt, wie man Überschriften bei \KOMAScript{} mit einem
farbigen Hintergrund versehen kann.
\end{abstract}
\section*{Vorwort}% oder auch \addsec
\blindtext
\tableofcontents
\blinddocument

\section{Und dann noch eine mehrzeilige Überschrift als weiteres Beispiel}
\blindtext
\end{document}

Ich habe hier absichtlich nicht das Element disposition (oder den Alias sectioning) verwendet, weil jenes Element auch noch an anderer Stelle als nur den Überschriften verwendet wird und eventuell auch nicht überall ein Argument erlaubt, weil danach ja noch das Element für die jeweilige Ebene folgt.

Ich habe mir außerdem erlaubt, Dir zu zeigen, dass Du mit \section* oder der Sternform einer andere Gliederungsebene \heading einsparen kannst.

Die Elemente für die weiteren Gliederungebenen bis hinunter zu \minisec sind übrigens der KOMA-Script-Anleitung zu entnehmen.

Mit dieser Umdefinierung sollte man übrigens die \label-Anweisung nicht mehr innerhalb des Arguments der Gliederungsüberschrift, sondern unbedingt danach setzen, weil sie sonst ggf. zweimal ausgeführt wird, wenn die Überschrift länger als eine Zeile ist.

Permanenter link

beantwortet 26 Jul '13, 04:57

saputello's gravatar image

saputello
18.4k22352

bearbeitet 08 Okt '15, 03:15

Hervorragend, danke!

(26 Jul '13, 05:14) Felix

Mit der Version 3.19a gibt es eine einfachere Möglichkeit Überschriften mit einem farbigen Hintergrund zu versehen. Dazu muss man nur den neuen Befehl \sectionlinesformat passend umdefinieren. Der Befehl ist für alle frei stehenden Überschriften im section Stil zuständig und seit der Version 3.19 auch in der Dokumentation zu KOMA-Script beschrieben.

Open in Online-Editor
\documentclass{scrartcl}[2015/09/15]
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{blindtext}

\usepackage{xcolor}
\colorlet{sectioncolor}{orange}
\makeatletter
\renewcommand\sectionlinesformat[4]{%
  \hspace*{#2}%
  \colorbox{sectioncolor}{%
    \parbox[t]{\dimexpr\textwidth-2\fboxsep-#2\relax}{%
      \raggedsection\color{white}\@hangfrom{#3}{#4}%
}}}
\makeatother

\begin{document}
\addsec{Vorwort}
\blindtext
\tableofcontents
\blinddocument

\section{Und dann noch eine mehrzeilige Überschrift als weiteres Beispiel}
\blindtext
\end{document}

alt text

Wenn man es noch etwas bunter möchte, lassen sich die verschiedenen Überschriftenebenen auch ganz einfach unterschiedlich färben.

Open in Online-Editor
\documentclass{scrartcl}[2015/09/15]
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{blindtext}

\usepackage{xcolor}
\colorlet{sectioncolor}{orange}
\colorlet{subsectioncolor}{purple}
\colorlet{subsubsectioncolor}{blue!50!black}
\makeatletter
\renewcommand\sectionlinesformat[4]{%
  \hspace*{#2}%
  \colorbox{#1color}{%
    \parbox[t]{\dimexpr\textwidth-2\fboxsep-#2\relax}{%
      \raggedsection\color{white}\@hangfrom{#3}{#4}%
}}}
\makeatother

\begin{document}
\addsec{Vorwort}
\blindtext
\tableofcontents
\blinddocument

\section{Und dann noch eine mehrzeilige Überschrift als weiteres Beispiel}
\blindtext
\end{document}

alt text

Ab der gleichen Version gibt es für die Kapitelüberschriften in den Klassen scrreprt und scrbook außerdem die Befehle \chapterlinesformat und \chapterlineswithprefixformat. Ein Beispiel dazu findet sich unter Wie kann ich bei einer KOMA-Script Klasse Kapitelüberschriften mit einer Hintergrundfarbe versehen?.

Permanenter link

beantwortet 27 Sep '15, 16:07

esdd's gravatar image

esdd
14.2k53251

bearbeitet 07 Okt '15, 08:01

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×73
×33
×33

Frage gestellt: 26 Jul '13, 04:13

Frage wurde angeschaut: 5,651 Mal

Zuletzt aktualisiert: 08 Okt '15, 03:15