我正在尝试排版定义,以便在整个工作过程中引用我的问题。以下是我目前所拥有的:
\begin{enumerate} %hint
\item
\theoremstyle{definition}
\newtheorem{defn}{\textbf{Definition 2.2.1}}\label{2.2.1}
\textit{Let S be a set. A subset R of S x S is called an \textbf{equivalence relation} on S if
\begin{enumerate}
\item
for all $a \in S, (a,a) \in R;$
\item
for all $a,b \in S, $if $(a,b) \in R,$ then $(b,a) \in R;$
\item
for all $a,b,c \in S, $if $(a,b) \in R,$ and $(b,c) \in R,$ then $(a,c) \in R. $
\end{enumerate}
\textit{We will write $a \sim b$ to denote the fact that $(a,b) \in R.$}}
\end{enumerate}
这是我的代码迄今为止生成的内容:
有问题的代码在这里:
\begin{enumerate}
\item
Let $x,x \in \mathbb{Z}$ such that $ x | x^k$ and $x|x^j$, then $x\sim x$ and the equivalence relation is reflexive as described by \ref{2.2.1}.\\
\end{enumerate}
生成:
我想更改的部分是 \ref{2.2.1}。在我的代码中,它生成一个单数,但我希望代码显示:
...等价关系是自反的,如定义 2.2.1 所述。
任何帮助将不胜感激。
答案1
我想鼓励您学习如何利用 LaTeX 的方法(如果您愿意的话,可以称之为它的“思维方式”)将内容问题与格式问题分开。虽然一开始会涉及一些额外的开销,但这样做会立即带来巨大的回报,因为您可以访问各种 LaTeX 软件包,这些软件包提供执行各种特定操作的宏,例如包括您希望交叉引用的对象的字符串标签。换句话说,如果已经有一个完美的轮子,就不要重新发明轮子了……
例如,学习如何使用机器阿姆斯特丹包来定义和使用类似定理的环境,包括“定义”环境。如果你这样做,那么创建一个给定定义的带标签交叉引用就很简单了,只需用 替换 ,\ref{defn:eq_rel}
其中\cref{defn:eq_rel}
是\cref
包提供的宏聪明人包裹。
通过将内容问题与格式问题分开,您的代码将很快变得更加强大和更具适应性。例如,如果您决定将等价关系的定义移到文档的其他位置,LaTeX 不仅会自动处理定义编号的变化,而且对该定义的任何交叉引用也会自动进行调整。
\documentclass{report} % or some other suitable document class
\usepackage{enumitem} % more control over appearance of lists
\usepackage{amssymb} % for '\mathbb' macro
\usepackage{amsthm} % for '\newtheorem' macro
\usepackage[capitalize]{cleveref} % for '\cref' macro
\newtheorem{defn}{Definition}[section] % run this instruction *after* loading 'cleveref'.
\newcommand\boldemph[1]{\textup{\textbf{#1}}} % utility macro
\begin{document}
\setcounter{chapter}{2} % just for this example
\setcounter{section}{2}
\begin{defn} \label{defn:eq_rel} % use a descriptive label
Let $S$ be a set. A subset $R$ of $S \times S$ is called
an \boldemph{equivalence relation} on $S$ if
\begin{enumerate}[label=\upshape(\alph*)]
\item
for all $a \in S$, $(a,a) \in R$;
\item
for all $a,b \in S$, if $(a,b) \in R$, then $(b,a) \in R$;
\item
for all $a,b,c \in S$, if $(a,b) \in R$ and $(b,c) \in R$,
then $(a,c) \in R$.
\end{enumerate}
We will write $a \sim b$ to denote the fact that $(a,b) \in R$.
\end{defn}
\medskip\noindent
\dots
\bigskip
Let $x$, $x\in\mathbb{Z}$, such that $x\mid x^k$ and $x\mid x^j$.
Then $x\sim x$, and the equivalence relation is reflexive as
described by \cref{defn:eq_rel}.
\end{document}
答案2
\@currentlabel
保存当前的文本(通常是数字) 。如果你想捕获一些不同的东西,\label
你可以在调用之前强制设置\@currentlabel
为你想要的任何内容:\label
\documentclass{article}
\usepackage{amssymb}
\makeatletter
\newcommand{\setref}[1]{\def\@currentlabel{#1}}
\makeatother
\newcommand{\newdefinition}[1]{%
\textbf{#1}% Set definition
\setref{#1}% Set label
}
\begin{document}
\begin{enumerate}
\item
\begingroup
\newdefinition{Definition 2.2.1}\label{def-2.2.1}
\itshape
Let~$S$ be a set. A subset~$R$ of $S \times S$ is called an \textbf{equivalence relation} on~$S$ if
\begin{enumerate}
\item
for all $a \in S, (a, a) \in R$;
\item
for all $a, b \in S$, if $(a, b) \in R$, then $(b, a) \in R$;
\item
for all $a, b, c \in S$, if $(a, b) \in R$, and $(b, c) \in R$, then $(a, c) \in R$.
\end{enumerate}
We will write $a \sim b$ to denote the fact that $(a, b) \in R$.
\endgroup
\end{enumerate}
\begin{enumerate}
\item
Let $x, x \in \mathbb{Z}$ such that $x \mid x^k$ and $x \mid x^j$, then $x \sim x$ and the equivalence
relation is reflexive as described by \ref{def-2.2.1}.
\end{enumerate}
\end{document}
*注意,的内容\@currentlabel
写入了.aux
,因此将会被扩展。