我的论文分为两部分(A 部分和 B 部分),它们的定理分别称为定理 A 和定理 B。B 部分的编号也从 1 开始。
这两个部分之间有很多交叉引用,因此需要在交叉引用中包含前缀 A 和 B,如下所示:
我想参考项目 A1.1 至 A1.3 和 B1.1 至 B1.3。
不幸的是,使用\cref{en1,en2,en3,en4,en5,en6}
或\labelcref{en1,en2,en3,en4,en5,en6}
,
我只得到了对项目 1.1 至 1.3 的引用。
有办法解决这个问题吗?
备注:解决方案应该仍然允许使用\value{}
,而不应该改变以下事实:项目本身只有数字 1.1、1.2 等,只有参考被称为 A1.1、A1.2 等。
以下是 MWE:
\documentclass[12pt]{article}
\usepackage{enumitem}
\usepackage{cleveref}
\parindent0pt
\newtheorem{TheoremA}{Theorem A}
\newtheorem{TheoremB}{Theorem B}
\setlist[1]{leftmargin=*, label=\theTheoremA.\arabic*}
\setlist[2]{leftmargin=*, label=\theenumi.\arabic*}
\setlist[3]{leftmargin=*, label=\theenumi.\arabic*}
\begin{document}
\part*{Part A}
\begin{TheoremA}
This is the first Theorem in Part A.
\end{TheoremA}
\begin{enumerate}
\item \label{en1} First item in Theorem A1
\item \label{en2} Second item in Theorem A1
\item \label{en3} Third item in Theorem A1
\end{enumerate}
\setlist[1]{leftmargin=*, label=\theTheoremB.\arabic*}
\setlist[2]{leftmargin=*, label=\theenumi.\arabic*}
\setlist[3]{leftmargin=*, label=\theenumi.\arabic*}
\part*{Part B}
\begin{TheoremB}
This is the first Theorem in Part B.
\end{TheoremB}
\begin{enumerate}
\item \label{en4} First item in Theorem B1
\item \label{en5} Second item in Theorem B1
\item \label{en6} Third item in Theorem B1
\end{enumerate}
Here is a reference to items \labelcref{en1,en2,en3,en4,en5,en6} instead of items A1.1 to A1.3 and B1.1 to B1.3.
Here, there is again a reference only to \cref{en1,en2,en3,en4,en5,en6}.
\end{document}
答案1
您可以按如下方式添加前缀:
\renewcommand{\thefigure}{S\arabic{figure}}
\renewcommand{\thetable}{S\arabic{table}}
我将其用于我的补充文件。因此表格和图形看起来像图 S1、图 S2、...、表 S1 等。您可以将其包装到您用来代替的宏中\part
,使用\newcommand