Unterschiedlicher Nummerierungsstil in Titel und Referenz für Abschnitte

Unterschiedlicher Nummerierungsstil in Titel und Referenz für Abschnitte

Ich möchte die Nummer meines Abschnitts in ein farbiges Kästchen im Titel setzen, aber wenn ich eine Referenz verwende, möchte ich, dass nur die Nummer des Abschnitts gedruckt wird und nicht das farbige Kästchen...

ich benutzte

\renewcommand{\thesection}{\colorbox{blue}{\arabic{section}.}}

und es funktioniert für den Titel, aber es fügt auch das farbige Kästchen in den Haupttext ein, wenn ich den Abschnitt mit zitiere \ref{sec}. Gibt es eine Lösung, um die Nummerierung des Abschnitts unabhängig im Titel und in der Referenz zu ändern?

Antwort1

Diese Art der Formatierung kann mit dem titlesecPaket durchgeführt werden. Es bietet einen \titleformatBefehl, mit dem sich die Überschrift von Abschnitten oder anderen Teilen eines Dokuments formatieren lässt, ohne die Zählerreferenzbefehle (wie \thesection) zu beeinflussen. Siehe diePaketdokumentationfür mehr Details.

Für die farbigen Kästchen um die Abschnittsnummern sollte das folgende Beispiel funktionieren.

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

Antwort2

Das folgende Minimalbeispiel aktualisiert die Art und Weise, wie die Abschnittseinheitsnummer als Teil des Titels gedruckt wird, und führt einen speziellen Formatierungsmechanismus ein. Wenn kein (neues) spezielles Format angegeben ist (auf Abschnittseinheitsbasis), wird standardmäßig verwendet \csname the#1\endcsname\quad, was ohnehin der Standard unter den regulären Dokumentklassen ist.

Bildbeschreibung hier eingeben

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

verwandte Informationen