lncs - 更改特定环境的计数器

lncs - 更改特定环境的计数器

我正在使用llncs文档类,我需要为环境“备注”设置计数器,这样当我使用时\begin{remark} ... \end{remark}我就可以获取备注1无论我在文档中的哪个位置。

我该怎么做?是否可以定义一个新的计数器然后强制remark使用该计数器?

聚苯乙烯不应该定义新的环境

编辑

很抱歉,我可能没有解释清楚:我不想使固定注释的计数器始终为 1。我只是希望它开始从 1 开始,然后正常增加。因此第一个注释将是备注1,第二个将是备注2等等。就目前而言,似乎评论环境正在与定理、推论等共享计数器,而我不希望这样。

以下是 MWE:

\documentclass[11pt,envcountsame,a4paper]{llncs}

\usepackage[english]{babel}
\usepackage{url}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%\usepackage{amsthm}
\usepackage{graphicx}
\usepackage{hyperref}

\numberwithin{theorem}{section}
\numberwithin{lemma}{section}
\numberwithin{definition}{section}
\numberwithin{equation}{section}
\numberwithin{figure}{section}
\numberwithin{corollary}{section}


\linespread{1.2}

\begin{document}

\section{My first section}

\begin{theorem}
Here I state a very interesting theorem
\end{theorem}

\begin{lemma}
Here I state a very interesting lemma
\end{lemma}

\begin{definition}
Here I state a very interesting definition
\end{definition}

\begin{remark}
And here I would like to state a very interesting remark, numbered as Remark 1
\end{remark}


\end{document}

答案1

更新

如果envcountsame给出了文档类选项,所有llncs定义的定理都使用theorem计数器作为共享计数器。

现在,envcountsame启用\newaliascnt,定义一个别名计数器,然后检查(与此问题相关) 是否\c@remark已存在。为了remark与分离theorem\c@remark必须\relax并重新定义为新计数器。

\documentclass[envcountsame]{llncs}


\makeatletter
\if@envcntsame
\let\c@remark\relax
\newcounter{remark}
\fi
\makeatother

\begin{document}

\begin{remark}
A remark
\end{remark}

\begin{theorem}
Foo
\end{theorem}

\begin{theorem}
Another Foo
\end{theorem}
\begin{remark}
  Another remark
\end{remark}

\begin{remark}
Yet another remark
\end{remark}



\begin{remark}
And now another counter value for remark after resuming
\end{remark}


\end{document}

在此处输入图片描述

老东西...

我怀疑将计数器设置为 1 的可用性remark,但这里有一种方法\AtBeginEnvironment

\documentclass{llncs}

\usepackage{xpatch}

\AtBeginEnvironment{remark}{\setcounter{remark}{0}}

\begin{document}

\begin{remark}
A remark
\end{remark}

\section{Foo}

\begin{remark}
  Another remark
\end{remark}

\begin{remark}
Yet  Another remark
\end{remark}


\end{document}

另一种可能性使用xassoccnt及其Suspend特点

\documentclass{llncs}

\usepackage{xassoccnt}

\setcounter{remark}{1} % Set it to 1 
\SuspendCounters{remark} % suspend it 

\begin{document}

\begin{remark}
A remark
\end{remark}

\section{Foo}

\begin{remark}
  Another remark
\end{remark}

\begin{remark}
Yet another remark
\end{remark}

\ResumeSuspendedCounters{remark}


\begin{remark}
And now another counter value for remark after resuming
\end{remark}


\end{document}

在此处输入图片描述

答案2

这听起来像是一个完全没有意义的请求。那为什么要使用数字呢?但是如果你想:

\documentclass{llncs}

\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}

\renewcommand\theremark{1}
\begin{document}
\begin{remark}
abc
\end{remark}

\begin{remark}
abc
\end{remark}

\end{document}

在此处输入图片描述

相关内容