\section{} innerhalb einer tcolorbox

\section{} innerhalb einer tcolorbox

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 \sectionboxes, um die gleichen Funktionen wie die \sectionBefehle zu haben, d. h.

  1. die Anzahl der Abschnitte im Texttitel selbst anzuzeigen (z. B. „1. Abschnittstitel“ und nicht nur „Abschnittstitel“), und

  2. damit der \sectionbox{}Inhalt mit der entsprechenden Abschnittsanzahl im Inhaltsverzeichnis angezeigt wird.

Zum Erstellen der Boxen verwende ich das Paket tcolorboxund 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 \sectionboxdem 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 \refstepcounterund \numberline. Tipp: Verwenden Sie einen normalen \sectionBefehl 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}

verwandte Informationen