鉴于以下 MWE:
\documentclass[english]{scrartcl}
\usepackage{syntax}
\begin{document}
\begin{figure}
\begin{grammar}
<example> ::= \[[ \lit{def} <identifier> \lit{=} <expr> \]]
\end{grammar}
\caption{an example grammar}
\label{grm:example}
\end{figure}
\listoffigures
\end{document}
这为我绘制了一个虚构语言中非终端“示例”的良好(部分)定义,我可以在最后的图表列表中看到它。但在实际文档中还有其他图表,它们应该在另一个列表中。
那么我该如何使用相应的计数器和列表自己定义这样的环境?
编辑
如果重要的话:我正在使用 xelatex 3.1415926-2.5-0.9999.3-2013060708(TeX Live 2013)。
答案1
此功能由多个软件包提供:float
,newfloat
, 和trivfloat
用于新的浮动物体。
下面是一个使用示例newfloat
(请参阅包文档以了解其提供的自定义选项):
\documentclass[english]{scrartcl}
\usepackage{syntax}
\usepackage{newfloat}
\DeclareFloatingEnvironment{example}
\begin{document}
\begin{example}
\begin{grammar}
<example> ::= \[[ \lit{def} <identifier> \lit{=} <expr> \]]
\end{grammar}
\caption{an example grammar}
\label{grm:example}
\end{example}
\listofexamples
\end{document}