lncs - 更改特定環境的計數器

lncs - 更改特定環境的計數器

我正在使用llncs文檔類,我需要為環境“備註”設置計數器,以便當我使用時\begin{remark} ... \end{remark}我獲得備註1無論我在文檔中的哪個位置。

我該怎麼做?是否可以定義一個新計數器然後強制remark使用該計數器?

PS一不應該定義一個新環境

編輯

抱歉,也許我沒有很好地解釋自己:我不想使固定備註的計數器始終為 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}

在此輸入影像描述

相關內容