列出多个 tikz-mdframed 框,如图表、表格和列表的列表

列出多个 tikz-mdframed 框,如图表、表格和列表的列表

我正在写一篇论文,其中我为不同类型的见解和例子创建了多个“盒子环境”。

我从 mdframed 文档的高级示例开始使用 tikz 实现在主框架的标题周围创建一个框架。

我的三个环境具有这种结构,但 \newcounter 和 \newenvironment 名称明显发生了变化:

\mdfsetup{skipabove=\topskip,skipbelow=\topskip}
\newcounter{envpolicy}[part]
\counterwithin{envpolicy}{part}
\newenvironment{envpolicy}[1][]{%
    \refstepcounter{envpolicy}%
    \ifstrempty{#1}%
    {\mdfsetup{%
            frametitle={%
                \tikz[baseline=(current bounding box.east),outer sep=0pt]
                \node[anchor=east,font=\color{white},rectangle,fill=mydarkgreen!90]
                {\strut Policy~\theenvpolicy};}}
    }%
    {\mdfsetup{%
            frametitle={%
                \tikz[baseline=(current bounding box.east),outer sep=0pt]
                \node[anchor=east,font=\color{white},rectangle,fill=mydarkgreen!90]
                {\strut Policy~\theenvpolicy:~#1};}}%
    }%
    \mdfsetup{innertopmargin=10pt,linecolor=mydarkgreen,%
        linewidth=1pt,topline=true,backgroundcolor=mydarkgreen!10,
        frametitleaboveskip=\dimexpr-\ht\strutbox\relax,}
    \begin{mdframed}[]\relax%
    }{\end{mdframed}}

标签、标题和常规实现在我的论文的许多不同输入文件中运行良好。

现在来谈谈“问题”。

我想在文档的开头添加一个政策列表、框 2 列表、框 3 列表等等。

我目前有一个主目录,然后是图片、表格和代码列表。这些列表采用经典论文格式(无虚线,列表标题采用该特定样式)。

我尝试寻找一些实现方法,但没有成功。

例如,在这个答案(mdframed 方法),我不知道该把\addcontentsline{lob}{section}{\numberline{\theinfobox}#1}%

如果我使用此解决方案(因为我希望所有列表都在同一页中)我不知道将 mdframetoc 放在哪里。特别是\begin{mdframedprovatoc}[%(prova 在意大利语中是尝试的意思 :P)现在导致写入mdframedprovatoc[紧接着正文中的实际彩色框之前。

\mdfsetup{skipabove=\topskip,skipbelow=\topskip}
\newcounter{prova}[part]
\counterwithin{prova}{part}
\newenvironment{prova}[1][]{%
    \refstepcounter{prova}%
    \ifstrempty{#1}%
    \begin{mdframedprovatoc}[%
    {\mdfsetup{%
            frametitle={%
                \tikz[baseline=(current bounding box.east),outer sep=0pt]
                \node[anchor=east,font=\color{white},rectangle,fill=mymaroon!90]
                {\strut prova~\theprova};}}
    }%
    {\mdfsetup{%
            frametitle={%
                \tikz[baseline=(current bounding box.east),outer sep=0pt]
                \node[anchor=east,font=\color{white},rectangle,fill=mymaroon!90]
                {\strut prova~\theprova:~#1};}}%
    }%
    \mdfsetup{innertopmargin=10pt,linecolor=mymaroon,%
        linewidth=1pt,topline=true,backgroundcolor=mymaroon!10,
        frametitleaboveskip=\dimexpr-\ht\strutbox\relax,}
    \begin{mdframed}[]\relax%
    }{\end{mdframed}\end{mdframedprovatoc}}

\makeatletter
\newmdenv[startinnercode=\addcontentsline{mdprovabox}{subsection}\mdf@frametitle]
{mdframedprovatoc}
\newcommand{\listofprova}{%
    \subsection*{List of Prova}
    \@starttoc{mdprovabox}%
}
\makeatother

有一种相对简单的方法可以实现这些环境树列表而无需进行太多更改(我已经以某种方式完成了写作,这只是提交和打印之前的一个小调整......)

额外:有没有办法以与经典论文图表列表等相同的格式显示这三个列表?

谢谢!

相关内容