我对 Ulrich Diez 编写的“theomac”软件包有以下问题(我不知道如何联系他)。这个软件包对于重述定理很有用,例如这里。
问题:
如果定理声明中有空行,则会出错
重述定理时列举数字是错误的
此外,要重复定理,需要指定命令。包宏是否有办法从定理的标签或命令的标签推导出此命令?这将节省一个参数并使事情变得更清晰。
下面的代码显示了这两个问题以及“也”问题。
\documentclass[12pt]{article}
\usepackage{../theomac}
\newtheoremWithMacro{theoremR}{Theorem}
\begin{document}
%The following doesn't compile because of empty line
\begin{theoremR}
bla
bla
\end{theoremR}
\begin{theoremR}[\teo]
\begin{enumerate}
\item bla
\item bla
\end{enumerate}
\end{theoremR}
%Numbering of enumerate is wrong in the following
\teo
%Is there a way for the macro to deduce
%label and or \teo from other?
\begin{theoremR}[\teo] \label{teo}
bla
\end{theoremR}
\end{document}
谢谢。
答案1
Ulrich Schwarz 在他的评论中回答了这个问题:
自动标记会很困难,因为
\label
环境中可能会有多个命令。我猜 theomac 内部会为其数据创建一个标签(thmtools
'thm-restate
就是这样),但这些标签通常是连续编号的,以便有一种简单的方法使它们唯一,而显示它们首先违背了标签机制的目的。