我对该包的定理和定义还不熟悉amsthm
,而我想要实现的目标可能真的很简单。
我有以下定理:
\theoremstyle{definition}
\newtheorem{matriceDef}{Matrice}[section]
\newtheorem{matriceSomma}[matriceDef]{Somma}
\newtheorem{matriceSommaProp}{Proprietà per la somma tra matrici}[matriceSomma]
定义在文件中。当我真正把它们放在一起时,我得到了LaTeX Error: No counter 'matriceSomma' defined.
最后一行发生的事情。
我想要做的是让最后一个定义成为前一个定义的子定义。现在,正如你所看到的, 输出是正确的,正是我想要的。问题是它在那里给出了那个错误。
这个的 MWE 是这个
\documentclass[a4paper]{article}
\usepackage{amsmath,amsfonts,amssymb,mathtools,calrsfs,mathrsfs,amsthm}
\theoremstyle{definition}
\newtheorem{matriceDef}{Matrice}[section]
\newtheorem{matriceSomma}[matriceDef]{Somma}
\newtheorem{matriceSommaProp}{Proprietà per la somma tra matrici}[matriceSomma]
\begin{document}
\section{Matrici}
\subsection{Definizioni e teoremi}
\begin{matriceDef}
Foo, bar
\end{matriceDef}
\begin{matriceSomma}
Outside
\end{matriceSomma}
\begin{matriceSommaProp}
Inside
\end{matriceSommaProp}
\end{document}
我删除了无用的排版。我想做的是创建一个依赖于另一个进行编号的定义(或定理)。感谢您的帮助。
答案1
您声明的是matriceSomma
使用与相同的计数器matriceDef
,因此没有matriceSomma
定义计数器。
\documentclass[a4paper]{article}
\usepackage{amsmath,amsthm}
\theoremstyle{definition}
\newtheorem{matriceDef}{Matrice}[section]
\newtheorem{matriceSomma}[matriceDef]{Somma}
\newtheorem{matriceSommaProp}{Proprietà per la somma tra matrici}[matriceDef]
\begin{document}
\section{Matrici}
\subsection{Definizioni e teoremi}
\begin{matriceDef}
Foo, bar
\end{matriceDef}
\begin{matriceSomma}
Outside
\end{matriceSomma}
\begin{matriceSommaProp}
Inside
\end{matriceSommaProp}
\end{document}
另一方面,您必须定义大量这样的类似定理的环境,因为有矩阵的乘积、矩阵与标量的乘积等等;我建议只定义两个并在使用时传递真实名称。
\documentclass[a4paper]{article}
\usepackage{amsmath,amsthm}
\theoremstyle{definition}
\newtheorem{innerDef}{\envargument}[section]
\newtheorem{innerSubDef}{\envargument}[innerDef]
\newcommand{\envargument}{}
\newenvironment{Def}[1]
{\renewcommand{\envargument}{#1}\innerDef}
{\endinnerDef}
\newenvironment{SubDef}[1]
{\renewcommand{\envargument}{#1}\innerSubDef}
{\endinnerSubDef}
\begin{document}
\section{Matrici}
\subsection{Definizioni e teoremi}
\begin{Def}{Matrice}
Foo, bar
\end{Def}
\begin{Def}{Somma}
Outside
\end{Def}
\begin{SubDef}{Proprietà per la somma tra matrici}
Inside
\end{SubDef}
\end{document}
顺便问一下,难道不应该是“Proprietà della somma fra matrici”吗?