如何用新数字重新表述定理?

如何用新数字重新表述定理?
\documentclass[final,a4paper,11pt,oneside,openany]{memoir}

\usepackage[naustrian]{babel}

\usepackage[thmmarks]{ntheorem}
\usepackage{thm-restate}

\newcounter{reqcounter}
\newtheorem{RQ}[reqcounter]{Neu}

\begin{document}

\begin{restatable}{RQ}{rqFenster}
Fenster mit 3-Scheiben Isolierverglasung, mit Rolladen und Fensterbank. \\
\textit{Farbe: Innen Weiß, Außen weiß; Beschlag: Silber.}
\end{restatable}

\rqFenster

\end{document}

生成了一份符合我预期的文档,但也给出了一个警告:

Latexmk: List of undefined refs and citations:
  Label `thmt@@rqFenster' multiply defined
  Label `thmt@@rqFenster@data' multiply defined
Latexmk: Summary of warnings from last run of (pdf)latex:
  Latex found 2 multiply defined reference(s)

是不是我使用方式不正确?

是否也可以通过某种方式表明它实际上是一个重述定理?例如,再次输入相同的数字,然后输入一个子数字来表明重述的频率?

Neu 1.1 Fenster mit 3-Scheiben Isolierverglasung, mit Rolladen und Fenster-
bank.
Farbe: Innen Weiß, Außen weiß; Beschlag: Silber.
Neu 1.2 Fenster mit 3-Scheiben Isolierverglasung, mit Rolladen und Fenster-
bank.
Farbe: Innen Weiß, Außen weiß; Beschlag: Silber.

或者甚至可以改变重述中使用的定理吗?例如,我想用相同的文本重述定理,但不是以 RQ 的形式而是以 RQopt 的形式?

\rqFenster[RQopt] % make rqFenster now being like:

\begin{restatable}{RQopt}{rqFenster}
Fenster mit 3-Scheiben Isolierverglasung, mit Rolladen und Fensterbank. \\
\textit{Farbe: Innen Weiß, Außen weiß; Beschlag: Silber.}
\end{restatable}

所以基本上我想了解一下重述机制可以做什么,或者是否有任何方法可以扩展重述机制。只有带星号的版本有效,这对我来说很奇怪?

答案1

的目的thm-restate是用相同的数字。

你可以自己定义业务。

\documentclass[final,a4paper,11pt,oneside,openany]{memoir}

\usepackage[naustrian]{babel}

\usepackage[thmmarks]{ntheorem}

\ExplSyntaxOn

\prop_new:N \g_markus_restate_prop

\NewDocumentEnvironment{torestate}{mmo+b}
 {% #1 = theorem type, #2 = key for restating, #3 = attribution, #4 = the contents
  % state the theorem
  \IfNoValueTF{#3}{\begin{#1}}{\begin{#1}[#3]}#4\end{#1}
  % save the contents
  \prop_gput:Nnn \g_markus_restate_prop { #2-type } { #1 }
  \IfValueT{#3}
   {
    \prop_gput:Nnn \g_markus_restate_prop { #2-attr } { [#3] }
   }
  \prop_gput:Nnn \g_markus_restate_prop { #2-text } { #4 }
 }{}

\NewDocumentCommand{\restate}{mo}
 {% #1 = key for restating, #2 = optional label
  \use:e
   {
    \exp_not:N \begin{ \prop_item:Nn \g_markus_restate_prop { #1-type } }
    \prop_item:Nn \g_markus_restate_prop { #1-attr }
   }
  \IfValueT{#2}{ \label{#2} }
  \prop_item:Nn \g_markus_restate_prop { #1-text }
  \use:e { \exp_not:N \end{ \prop_item:Nn \g_markus_restate_prop { #1-type } } }
 }

\ExplSyntaxOff
  
\newtheorem{RQ}{Neu}


\begin{document}

\begin{torestate}{RQ}{rqFenster}
Fenster mit 3-Scheiben Isolierverglasung, mit Rolladen und Fensterbank. \\
\textit{Farbe: Innen Weiß, Außen weiß; Beschlag: Silber.}
\end{torestate}

\begin{torestate}{RQ}{somekey}[With attribution]
Whatever
\end{torestate}

\restate{rqFenster}[xyz]

Cross-reference: \ref{xyz}

\restate{somekey}

\end{document}

在此处输入图片描述

答案2

您应该使用带星号的版本rqFenster。我不知道如何调整定理编号,但也许您可以使用下面的一些介绍性文字。

% theoremnumprob.tex  SE 591359

\documentclass[final,a4paper,11pt,oneside,openany]{memoir}
\usepackage{lipsum}

\usepackage[naustrian]{babel}

\usepackage[thmmarks]{ntheorem}
\usepackage{thm-restate}

\newcounter{reqcounter}
\newtheorem{RQ}[reqcounter]{Neu}

\begin{document}

\begin{restatable}{RQ}{rqFenster}
Fenster mit 3-Scheiben Isolierverglasung, mit Rolladen und Fensterbank. \\
\textit{Farbe: Innen Weiß, Außen weiß; Beschlag: Silber.}
\end{restatable}

\lipsum[1]

 Remembering theorem \ref{thmt@@rqFenster} on page \pageref{thmt@@rqFenster}.
\rqFenster*

\end{document}

在此处输入图片描述

相关内容