![标记并使用颜色框的自定义参考](https://linux22.com/image/366226/%E6%A0%87%E8%AE%B0%E5%B9%B6%E4%BD%BF%E7%94%A8%E9%A2%9C%E8%89%B2%E6%A1%86%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8F%82%E8%80%83.png)
我正在尝试引用我在 latex 文档中创建的 tcolorbox。理想情况下,文内引用将根据章节采用 BOX 1.1、BOX 1.3、BOX、3.1 等形式。
为了创建我的盒子,我遵循了示例否 2014-10-10在他们的文档的第 21 页。此外,在同一文档的第 108 页上,有一个如何标记框的示例,但我无法真正使其发挥作用。
有人能帮忙吗?非常感谢。
\usepackage{wrapfig}
\usepackage{tcolorbox}
\begin{wrapfigure}{r}{0.5\textwidth}
\begin{tcolorbox}[title=Box 1 $\mid$ Timeline,
colback=blue!5!white,
colframe=blue!75!black,
colbacktitle=cyan!50!green,
coltitle=blue!25!black,
fonttitle=\bfseries,
subtitle style={boxrule=0.4pt,colback=cyan!50!red!25!white}]
\tcbsubtitle{1690}
TEXT.
\tcbsubtitle{1896}
TEXT 1.
\tcbsubtitle{1925}
TEXT 2.
\tcbsubtitle{1967}
TEXT 3.
\tcbsubtitle{2000}
TEXT 4.
\end{tcolorbox}
\end{wrapfigure}
答案1
我建议如下:
\documentclass{article}
\usepackage{wrapfig}
\usepackage{tcolorbox}
\usepackage{cleveref}
\newtcolorbox[auto counter,number within=section,crefname={box}{boxes}]{pabox}[2][]{%
title=Box 1 $\mid$ Timeline,
colback=blue!5!white,
colframe=blue!75!black,
colbacktitle=cyan!50!green,
coltitle=blue!25!black,
fonttitle=\bfseries,
subtitle style={boxrule=0.4pt,colback=cyan!50!red!25!white},title=Box ~\thetcbcounter $\mid$ #2, label={#1}}
\begin{document}
\section{section title}
\begin{wrapfigure}{r}{0.5\textwidth}
\begin{pabox}[mybox]{Timeline}
\tcbsubtitle{1690}
TEXT.
\tcbsubtitle{1896}
TEXT 1.
\tcbsubtitle{1925}
TEXT 2.
\tcbsubtitle{1967}
TEXT 3.
\tcbsubtitle{2000}
TEXT 4.
\end{pabox}
\end{wrapfigure}
Here is a reference with cleveref \cref{mybox} and a capitalized reference \Cref{mybox} and another without cleveref: \ref{mybox}
\end{document}
在文档的序言中,我使用命令\newtcolobox
定义了一种名为 的新类型的彩色框pabox
。布局的定义与问题中的相同。我还添加了选项auto counter
和number within=sections
,允许根据请求的编号方案自动对框进行编号。
此外,箱子的标题是“半自动”设置的,其中箱子和当前号码会自动打印,后面的文本|
可以为每个箱子手动添加。
在 的第一个可选参数中,pabox
可以添加一个标签,该标签可与通常的引用命令一起使用,如ref
。
编辑:为了自动打印参考文献中的“类型”(框 1.1 而不是 1.1),我会推荐cleveref
我在上面编辑的 MWE 中包含的包。此外,我还使用了选项crefname={box}{boxes}
来说明cleveref
如何“调用”参考文献中的框。
要引用文本中的框(包括它们的类型),可以使用\cref{<label>}
while ,\ref{<label>}
同时仍只打印它们的编号。还请记住\Cref{<label>}
将类型首字母大写的命令(适用于句子开头)。
补充:hyperref
也可以加入此解决方案,将引用转换为可点击的超链接。请记住正确的加载顺序,因为这cleverref
是必须加载的例外之一后 hyperref
。