我目前正在写一篇论文,想很好地格式化我的定义。这个问题帮助我为我的定义创建了一个不错的布局。以下代码
\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 的第二个代码,因为它修复了“定义列表”。)我在代码中标记了相关的更改。