Gostaria de colocar o número da minha seção em uma caixa colorida no título, mas quando uso uma referência, quero que seja impresso apenas o número da seção e não a caixa colorida...
eu usei
\renewcommand{\thesection}{\colorbox{blue}{\arabic{section}.}}
e funciona para o título, mas também coloca a caixa colorida no texto principal quando cito a seção com \ref{sec}
. Existe uma solução para alterar a numeração da seção independentemente do título e da referência?
Responder1
Esse tipo de formatação pode ser feito usando o titlesec
pacote. Fornece um \titleformat
comando que permite formatar o título de seções ou outras partes de um documento, e sem afetar os comandos de contra-referência (como \thesection
). Veja odocumentação do pacotepara mais detalhes.
Para as caixas coloridas ao redor dos números das seções, o exemplo a seguir deve funcionar.
\documentclass{article}
\usepackage{color}
\usepackage{titlesec}
\titleformat{\section}{\Large\bfseries}{\colorbox{blue}{\thesection.}}{1em}{}
\begin{document}
\section{First section}
\label{sec1}
Test paragraph.
\section{Second section}
Test paragraph with reference to section \ref{sec1}.
\end{document}
Responder2
O exemplo mínimo a seguir atualiza a forma como o número da unidade seccional é impresso como parte do título, introduzindo um mecanismo de formatação especial. Se nenhum (novo) formato especial for especificado (por unidade seccional), o padrão é \csname the#1\endcsname\quad
, que é o padrão nas classes regulares de documentos.
\documentclass{article}
\usepackage{xcolor}
\newcommand{\thesectioncntformat}{\colorbox{blue}{\thesection.}\quad}
%\newcommand{\thesubsectioncntformat}{\colorbox{red}{\thesubsection.}\quad}
%\newcommand{\thesubsubsectioncntformat}{\colorbox{green}{\thesubsubsection.}\quad}
\makeatletter
\renewcommand{\@seccntformat}[1]{%
\ifcsname the#1cntformat\endcsname
\csname the#1cntformat\endcsname % Special sectional unit number formatting
\else
\csname the#1\endcsname\quad % Default if no special format exists
\fi
}
\makeatother
\begin{document}
\tableofcontents
\bigskip
See Section~\ref{sec:section}, Subsection~\ref{sec:subsection} or Subsubsection~\ref{sec:subsubsection}.
\section{A section}\label{sec:section}
\subsection{A subsection}\label{sec:subsection}
\subsubsection{A subsubsection}\label{sec:subsubsection}
\end{document}