
Estou trabalhando em um modelo LaTeX para um apêndice de artigo que será usado por toda a equipe. Meu desafio atual é criar uma caixa colorida ao redor \section{}
dos títulos, mantendo as qualidades do \section{}
comando.
Abordei essa tarefa criando um tcolorbox
, com a aparência que me agrada, mas a funcionalidade do \section{}
comando foi perdida. Preciso de ajuda para solucionar esse problema.
Nomeei os tcolorboxes " sectionboxes
" conforme visto no exemplo prático abaixo e gostaria de simplesmente poder pesquisar os arquivos dos meus colegas e substituir todos \section{}
por \sectionbox{}
para aplicar este layout.
Preciso que os \sectionbox
es tenham as mesmas funções dos \section
comandos, ou seja
para exibir a contagem de seções no próprio título do texto (por exemplo, "1. Título da seção" e não apenas "Título da seção"), e
para que o
\sectionbox{}
conteúdo seja exibido no índice com sua contagem de seções correspondente.
Para criar as caixas, utilizo o pacote tcolorbox
e o comando abaixo.
No texto, onde normalmente escreveria \section
, escrevo:
\stepcounter{section}
\addcontentsline{toc}{section}{SECTION_NAME}
\sectionbox{\MakeUppercase{SECTION_NAME}}
Isso pelo menos adiciona o \sectionbox
conteúdo ao ToC, mas sem o número da contagem. Também são muitas linhas para serem eficientes.
Sinto que tentei de tudo, incluindo inúmeras outras maneiras de criar as caixas, mas simplesmente não consigo fazer funcionar. Alguém tem uma solução?
\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}
Responder1
Tudo que você precisa é \refstepcounter
e \numberline
. Dica, use um \section
comando normal e compare as entradas no arquivo aux.
\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}