我想使用 来创建具有我自己的枚举的引理,例如引理 A.1、A.2、...。\newtheorem
但是,在编译和引用时,数字是错误的,原因似乎很简单。LaTeX 按节枚举,但我希望我自己的标签“A.1”能够延续下去。我如何强制任意标签这样做?我的挑战是,我在一个不能是“A”节的节中有许多这样的引理 A.#,因为容易解释但占用空间。
以下是我的难题的一个实际示例。引用的“引理 A.1”以引理 B 的形式出现,但我需要它以“引理 A.1”的形式出现。
\documentclass[12pt]{article}
\usepackage{amsthm}
\newtheorem*{lemmaA1}{Lemma A.1}
\begin{document}
\section{Stuff\label{app:stuff}}
\begin{lemmaA1}\label{lm:11}
We have that $1=1$.
\end{lemmaA1}
Lemma \ref{lm:11} is true.
\end{document}
答案1
您不想\newtheorem
为每个需要的键定义一堆 s。此外,\newtheorem*
定义的环境不会设置计数器,因此\label
它们内部将不起作用,您将获得随机引用。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\genericname}{}
\newtheorem{generic}{\genericname}
\newenvironment{lemma*}[1]{%
\renewcommand{\genericname}{Lemma}%
\renewcommand{\thegeneric}{#1}%
\generic
}{\endgeneric}
\begin{document}
\begin{lemma*}{A.1}\label{lm:11}
We have that $1=1$.
\end{lemma*}
Lemma~\ref{lm:11} is true.
\end{document}
您可以定义其他generic
基于的环境。