我在用
\begin{figure}
\includegraphics{}
\caption{Caption}
\label{fig:fig_name}
\end{figure}
和
\begin{table}
\begin{tabular}
....
\end{tabular}
\caption{Caption}
\label{tab:table_name}
\end{figure}
但我还需要一个iteration
具有布局的自定义环境:
Hypothesis:
<text>
Validation:
<text>
并且我需要能够用 来引用它\ref{it:iteration_name}
。
这怎么可能?我看过这个命令\newenvironment
,但它似乎不符合我的需求。我可能只使用figure
或table
环境,但当我引用它们时,计数器应该独立于表格和图形。
编辑
我想要有内容的新环境
Hypothesis:
<text>
Validation:
<text>
进行编号。它应该像图形/表格一样工作,因此整个环境都进行了编号,但文本“假设”和“验证”都没有编号。我还想给背景上色,这样更清楚地表明环境“脱颖而出”,与文档的其余部分“独立”。
答案1
为了跟踪选项和参数,建议用iteration
命令替换环境,并带有一些可选参数等。
排版将在tcolorbox
框环境中进行。计数器会自动递增,并随着每个部分重置。
请注意,标签必须在第一个可选参数中使用label=it:somelabelname
。
\documentclass{article}
\PassOptionsToPackage{svgnames}{xcolor}
\usepackage[most]{tcolorbox}
\usepackage{ulem}%
\usepackage{blindtext}
\usepackage{xparse}
\newcounter{iteration}[section]
\newtcolorbox[use counter=iteration]{iterationbox}[1][]{arc=0pt, auto outer arc,left=2pt,right=2pt,colback=LightBlue,colbacktitle=yellow,coltitle=black,title={Iteration \thetcbcounter},#1}
\NewDocumentCommand{\iteration}{+O{}+m+m+o}{%
\begin{iterationbox}[#1]
\uline{Hypothesis}:
#2
\uline{Validation}:
#3
\IfValueT{#4}{%
\uline{Validation}:
#4
}%
\end{iterationbox}
}
\begin{document}
In \ref{it:brontosaurs}, we will see that...
\iteration[label=it:brontosaurs,colbacktitle=red,colback=yellow]{Theory on Brontosaurs}{Excavate a brontosaur}
\iteration[label={it:brontosaurs_extended},colbacktitle=red,colback=yellow]{Extended theory on Brontosaurs}{Excavate a brontosaur
\blindtext}[There must have been Brontosaurs]
\end{document}