
Ich arbeite an einer LaTeX-Vorlage für einen Artikelanhang, der von einem ganzen Team verwendet wird. Meine aktuelle Herausforderung besteht darin, ein farbgefülltes Feld um \section{}
Überschriften herum zu erstellen und dabei die Qualitäten des \section{}
Befehls beizubehalten.
Ich habe diese Aufgabe gelöst, indem ich ein erstellt habe tcolorbox
, mit dessen Aussehen ich zufrieden bin, aber die Funktionalität des \section{}
Befehls ist verloren gegangen. Ich brauche Hilfe bei der Behebung dieses Problems.
Ich habe die Farbfelder " sectionboxes
" genannt, wie im untenstehenden funktionierenden Beispiel, und möchte einfach in den Dateien meiner Kollegen suchen und alle \section{}
durch ersetzen können \sectionbox{}
, um dieses Layout anzuwenden.
Ich brauche die \sectionbox
es, um die gleichen Funktionen wie die \section
Befehle zu haben, d. h.
die Anzahl der Abschnitte im Texttitel selbst anzuzeigen (z. B. „1. Abschnittstitel“ und nicht nur „Abschnittstitel“), und
damit der
\sectionbox{}
Inhalt mit der entsprechenden Abschnittsanzahl im Inhaltsverzeichnis angezeigt wird.
Zum Erstellen der Boxen verwende ich das Paket tcolorbox
und den folgenden Befehl.
Im Text, wo ich normalerweise schreiben würde \section
, schreibe ich:
\stepcounter{section}
\addcontentsline{toc}{section}{SECTION_NAME}
\sectionbox{\MakeUppercase{SECTION_NAME}}
Dadurch wird der Inhalt zumindest \sectionbox
dem Inhaltsverzeichnis hinzugefügt, jedoch ohne die Anzahl. Es sind auch zu viele Zeilen, um effizient zu sein.
Ich habe das Gefühl, ich habe alles versucht, auch zahlreiche andere Möglichkeiten, die Boxen zu erstellen, aber ich bekomme es einfach nicht hin. Hat jemand eine Lösung?
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tcolorbox}
\usepackage{lipsum}
\title{title}
\author{author}
\date{\today}
\newcommand{\sectionbox}[1] {
\begin{tcolorbox}
[
colback=purple!100,% background
colframe=purple,% frame colour
coltext=white, % text color
width=\linewidth,%
height=0.7cm,
halign=center,
valign=center,
fontupper=\large\bfseries,
arc=0mm, auto outer arc,
]
{#1}
\end{tcolorbox}
} %
\begin{document}
\maketitle
\sectionbox{Contents}
\vspace{-1cm}
\renewcommand{\contentsname}{}
\tableofcontents
\newpage
\stepcounter{section}
\addcontentsline{toc}{section}{SECTION-NAME}
\sectionbox{\MakeUppercase{SECTION-NAME}}
\lipsum[1-2]
\end{document}
Antwort1
Alles was Sie brauchen ist \refstepcounter
und \numberline
. Tipp: Verwenden Sie einen normalen \section
Befehl und vergleichen Sie die Einträge in der AUX-Datei.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tcolorbox}
\usepackage{lipsum}
\title{title}
\author{author}
\date{\today}
\newcommand{\sectionbox}[1] {
\begin{tcolorbox}
[
colback=purple!100,% background
colframe=purple,% frame colour
coltext=white, % text color
width=\linewidth,%
height=0.7cm,
halign=center,
valign=center,
fontupper=\large\bfseries,
arc=0mm, auto outer arc,
]
{#1}
\end{tcolorbox}
} %
\begin{document}
\maketitle
\sectionbox{Contents}
\vspace{-1cm}
\renewcommand{\contentsname}{}
\tableofcontents
\newpage
\refstepcounter{section}
\addcontentsline{toc}{section}{\string\numberline{\thesection}SECTION-NAME}
\sectionbox{\MakeUppercase{SECTION-NAME}}
\lipsum[1-2]
\end{document}