\section{} dentro de un tcolorbox

\section{} dentro de un tcolorbox

Estoy trabajando en una plantilla LaTeX para el apéndice de un artículo que será utilizada por todo un equipo. Mi desafío actual es crear un cuadro lleno de color alrededor de \section{}los títulos, manteniendo al mismo tiempo las cualidades del \section{}comando.

He abordado esta tarea creando un tcolorbox, cuyo aspecto me gusta, pero \section{}se ha perdido la funcionalidad del comando. Necesito ayuda para solucionar este problema.

He nombrado los tcolorboxes " sectionboxes" como se ve en el ejemplo de trabajo a continuación, y me gustaría simplemente poder buscar los archivos de mis colegas y reemplazarlos todos \section{}para \sectionbox{}aplicar este diseño.

Necesito que \sectionboxes tenga las mismas funciones que los \sectioncomandos, es decir

  1. para mostrar el recuento de secciones en el título del texto (por ejemplo, "1. Título de la sección" y no solo "Título de la sección"), y

  2. para que el \sectionbox{}contenido se muestre en el índice con su correspondiente recuento de secciones.

Para crear las cajas, uso el paquete tcolorboxy el siguiente comando.

En el texto, donde normalmente escribiría \section, escribo:

\stepcounter{section}
\addcontentsline{toc}{section}{SECTION_NAME}
\sectionbox{\MakeUppercase{SECTION_NAME}}

Esto al menos agrega el \sectionboxcontenido al ToC, pero sin el número de conteo. También hay demasiadas líneas para ser eficiente.

Siento que lo he intentado todo, incluidas muchas otras formas de crear cajas, pero no puedo hacerlo funcionar. ¿Alguien tiene una solución?

\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}

Respuesta1

Todo lo que necesitas es \refstepcountery \numberline. Sugerencia: use un comando normal \sectiony compare las entradas en el archivo auxiliar.

\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}

información relacionada