
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 \sectionbox
es tenga las mismas funciones que los \section
comandos, es decir
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
para que el
\sectionbox{}
contenido se muestre en el índice con su correspondiente recuento de secciones.
Para crear las cajas, uso el paquete tcolorbox
y 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 \sectionbox
contenido 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 \refstepcounter
y \numberline
. Sugerencia: use un comando normal \section
y 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}