tcolorbox 中的 \section{}

tcolorbox 中的 \section{}

我正在为文章附录制作一个 LaTeX 模板,供整个团队使用。我当前的挑战是创建一个围绕标题的彩色框\section{},同时保持命令的质量\section{}

我通过创建 解决了此任务tcolorbox,我对它的外观很满意,但命令的功能\section{}已丢失。我需要一些帮助来解决这个问题。

我已将 tcolorboxes 命名为“ sectionboxes”,如下面的工作示例所示,并且希望能够搜索我同事的文件并全部替换\section{}\sectionbox{}以应用此布局。

我需要\sectionboxes 具有与\section命令相同的功能,即

  1. 在正文标题本身中显示章节数(例如“1.章节标题”而不仅仅是“章节标题”),并且

  2. \sectionbox{}在目录中显示的内容及其对应的章节数。

为了创建盒子,我使用了tcolorbox下面的包和命令。

在文中,我通常会写\section,但我写道:

\stepcounter{section}
\addcontentsline{toc}{section}{SECTION_NAME}
\sectionbox{\MakeUppercase{SECTION_NAME}}

这至少将\sectionbox内容添加到了目录中,但没有计数。行数太多,效率不高。

我感觉我已经尝试了所有方法,包括创建盒子的许多其他方法,但就是无法成功。有人有解决方案吗?

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

答案1

您所需要的只是\refstepcounter\numberline。提示,使用普通\section命令并比较 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}

相关内容