標題和章節參考中的不同編號樣式

標題和章節參考中的不同編號樣式

我想將我的部分的編號放在標題中的彩色框中,但是當我使用引用時,我只想打印該部分的編號,而不是彩色框......

我用了

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

它適用於標題,但當我引用帶有 的部分時,它也會將彩色框放在正文中\ref{sec}。是否有解決方案可以在標題和參考文獻中獨立更改章節的編號?

答案1

這種格式化可以使用titlesec包來完成。它提供了一個\titleformat命令,允許格式化文件的節或其他部分的標題,並且不影響計數器引用命令(如\thesection)。請參閱包文件更多細節。

對於節號周圍的彩色框,以下範例應該有效。

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

答案2

以下最小範例更新了部分單元編號作為標題的一部分的列印方式,引入了特殊的格式化機制。如果沒有指定(新的)特殊格式(以每個部分為單位),則預設為\csname the#1\endcsname\quad,無論如何,這都是常規文件類別下的預設格式。

在此輸入影像描述

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

相關內容