\documentclass[b5paper,10pt,twoside,onecolumn,draft]{article}
\usepackage{seamb}
\begin{document}
\begin{lem}\label{t2}
This is my lemma.
\end{lem}
By Lemma \ref{t2}, we have
\end{document}
但输出是:
引理 0.1。这是我的引理。
根据引理,我们有
我的意思是 \ref 在这里不起作用。
Ps. 重点是 seamb pachackege,包含三个文件,目前还没上线。
答案1
您可以使用 amsthm-package 轻松地自行定义任何类似定理的表述。
\documentclass[b5paper,10pt,twoside,onecolumn,draft]{article}
\usepackage{amsthm}
\theoremstyle{plain}
\newcounter{lem}
\newtheorem{lemma}[lem]{Lemma}
\begin{document}
\begin{lemma}\label{t2}
This is my lemma.
\end{lemma}
By Lemma \ref{t2}, we have
\end{document}
答案2
当您调用 label 时,它会将一条记录写入 auxout,下次运行 latex 时会读取该记录。要进行调试,请检查 auxout 的内容,或者在代码中展开 \@currentlabel 和 \@currentlabelname(您需要在宏定义周围使用 \makeatletter ... \makeatother)。或者,您可以在展开 \label 之前将 \@currentlabel 设置为您希望 \ref 显示的内容。
\def\label#1{% one of many definitions
\@bsphack
\begingroup
\def\label@name{#1}%
\protected@write\@auxout{}{%
\string\newlabel{#1}{%
{\@currentlabel}% set by \refstepcounter
{\thepage}%
{\@currentlabelname}% depends on type of label
{\@currentHref}{}% used by hyperref
}%
}%
\endgroup
\@esphack
}%
\def\refstepcounter#1{\stepcounter{#1}%
\def\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}}%