Estilo de numeração diferente no título e referência das seções

Estilo de numeração diferente no título e referência das seções

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 titlesecpacote. Fornece um \titleformatcomando 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.

insira a descrição da imagem aqui

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

informação relacionada