在一个问题我之前问过,我实现了 feculededentier 的方法 2。但是,现在我在这个案例中很难引用不同的示例。例如,“如示例 1.2 所示”的 Latex 代码应该是什么?
答案1
您必须稍微改变一下定义。将其设为 2 个参数,其中第一个为可选参数:
\newtcolorbox[auto counter, number within=chapter, number freestyle={\noexpand\thechapter.\noexpand\arabic{\tcbcounter}}]{myexample}[2][]{%
enhanced,
breakable,
fonttitle=\bfseries,
title=Example~\thetcbcounter: #2,
#1
}
然后使用label=<name>
如下键
\begin{myexample}[label=second]{Second example}
现在您可以用来Example~\ref{second}
引用这些框。
完整示例(取自问题中链接的答案并进行修改)
\documentclass{book}
\usepackage{tcolorbox}
\tcbuselibrary{skins,breakable}
\usepackage{lipsum}
\newtcolorbox[auto counter, number within=chapter, number freestyle={\noexpand\thechapter.\noexpand\arabic{\tcbcounter}}]{myexample}[2][]{%
enhanced,
breakable,
fonttitle=\bfseries,
title=Example~\thetcbcounter: #2,
#1
}
\begin{document}
\chapter{First chapter}
\begin{myexample}[label=first]{First example}
\lipsum[4]
\end{myexample}
\begin{myexample}[label=second]{Second example}
\lipsum[4]
\end{myexample}
\chapter{Second chapter}
\begin{myexample}[label=third]{Third example}
\lipsum[4]
\end{myexample}
From Example~\ref{second} we get some idea.
\end{document}
cleveref
版本:
您可以加载cleveref
包并crefname
在选项中使用以减少输入。
\documentclass{book}
\usepackage{cleveref}
\usepackage{tcolorbox}
\tcbuselibrary{skins,breakable}
\usepackage{lipsum}
\newtcolorbox[auto counter, number within=chapter,
crefname={example}{examples},
Crefname={Example}{Examples},
number freestyle={\noexpand\thechapter.\noexpand\arabic{\tcbcounter}}]
{myexample}[2][]{%
enhanced,
breakable,
fonttitle=\bfseries,
title=Example~\thetcbcounter: #2,
#1
}
\begin{document}
\chapter{First chapter}
\begin{myexample}[label=first]{First example}
\lipsum[4]
\end{myexample}
\begin{myexample}[label=second]{Second example}
\lipsum[4]
\end{myexample}
\chapter{Second chapter}
\begin{myexample}[label=third]{Third example}
\lipsum[4]
\end{myexample}
\Cref{second} gives us some idea as seen from \cref{first}.
\end{document}