编辑

编辑

我在用

\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,但它似乎不符合我的需求。我可能只使用figuretable环境,但当我引用它们时,计数器应该独立于表格和图形。

编辑

我想要有内容的新环境

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}

在此处输入图片描述

相关内容