枚举自定义定义号码

枚举自定义定义号码

在我的文字中我有一些自定义的内容,例如

\begin{definition} (say this is def. 2)       
\begin{itemize}           
  \item[2.1] foo  
  \item[2.2] bar
\end{itemize}   
\end{definition}  
(some plaintext)          
\begin{definition} (say this is def. 3)       
\begin{itemize}       
  \item[3.1] foo
  \item[3.2] bar
\end{itemize}     
\end{definition}
      

等等。

你意识到这是一个坏主意,此时你友好的审阅者建议第 1 章中的 blabla。(虽然再也没有使用过)也应该得到这种处理。哎哟,我们开始重命名吧。

显然,通过巧妙使用枚举,这应该是完全自动化的。(请注意,我的所有定义都分散在文本中,因此我不能只在它们周围编写一个枚举块。)因此,LaTeX 将从定义(由 提供amsthm)环境中获取计数器变量,从枚举环境中添加一个点和计数器变量,并将其用作项目标签。顺便说一下,我的 documentclass 是llncs

如果你只能轻松完成 3a、3b、3c,那也是可以接受的。

答案1

我知道您使用了llncs文档类,它提供了自己对definition环境的定义。(双关语。)

我建议您使用该enumitem包创建一个定制的枚举类环境,如下defenum例所示,definition仅供在环境内使用。观察 、 的使用\upshape,以确保合数3.13.2等作为枚举列表的结构元素被区分出来,而不是作为运行文本的一部分出现。

在此处输入图片描述

\documentclass{llncs}
% llncs provides its own 'definition' environment

% Create a bespoke enumerate-like environment:
\usepackage{enumitem}
\newlist{defenum}{enumerate}{1}
\setlist[defenum]{label=\upshape\thedefinition.\arabic*}

\begin{document}
\addtocounter{definition}{2} % just for this example
\begin{definition}[Some big definition] Consider:
\begin{defenum}
\item foo \label{item:defbig:1}
\item bar
\end{defenum}
\end{definition}
According to item \ref{item:defbig:1}, \dots
\end{document}

相关内容