为每个定义添加自定义标题

为每个定义添加自定义标题

我目前正在写一篇论文,想很好地格式化我的定义。这个问题帮助我为我的定义创建了一个不错的布局。以下代码

\documentclass{book}

\usepackage[most]{tcolorbox}

\newtcolorbox[auto counter,list inside=defs,number within=section]{definition}[2][]{title={Definition~\thetcbcounter},colback={white!30!yellow},colbacktitle={gray},coltitle=black,#1}

\newcommand{\listofdefinitions}{%
 \tcblistof[\section*]{defs}{List of Definitions}
}
\begin{document}
\listofdefinitions

\chapter{Foo}

\section{Foobar}

\begin{definition}[label=latex]{On \LaTeXe}
 \LaTeXe is very nice!
\end{definition}

\begin{definition}[label=MWE]{On MWE}
Providing a MWE helps
\end{definition}

\end{document}

产生以下输出: 在此处输入图片描述

但是,我希望有一种为每个定义创建自己的自定义定义标题的方法。例如,我希望使用“定义 1.1.1 - 我的第一个定义,涉及主题 A”和“定义 1.1.2 - 我第二个定义,涉及主题 B”,而不是“定义 1.1.1”和“定义 1.1.2”。

非常感谢您的帮助。

答案1

\documentclass{book}

\usepackage[most]{tcolorbox}

\newtcolorbox[auto counter,
list inside=defs,
number within=section]{definition}[2][]{
    list entry={{\bfseries\thetcbcounter~#2}},
    title={Definition~\thetcbcounter\ -- #2},% <-------------
    colback={white!30!yellow},
    colbacktitle={gray},
    coltitle=black,
    #1
}

\newcommand{\listofdefinitions}{%
    \tcblistof[\section*]{defs}{List of Definitions}
}
\begin{document}
    \listofdefinitions

    \chapter{Foo}

    \section{Foobar}

    \begin{definition}[label=latex]{\LaTeXe}
        \LaTeXe is very nice!
    \end{definition}

    \begin{definition}[label=MWE]{MWE}
        Providing a MWE helps
    \end{definition}


\end{document}

只需将第二个参数添加到标题即可。(我在链接问题中复制了 Christian 的第二个代码,因为它修复了“定义列表”。)我在代码中标记了相关的更改。

在此处输入图片描述

相关内容