请帮帮我!我有一些自定义环境,我想根据定理计数器给它们贴标签。这意味着我会得到像 Def. 1.1、Thm. 1.2 等这样的编号。现在,我必须自己输入标签的数字,而且随着文档内容的增加,这很快就会变得混乱。
我的目标是修改定义和定理环境,使其自动包含带有当前环境名称(定义、定理……)的标签、章节编号和定理计数器。请参阅下面的示例。
有谁知道如何实现这一点,或者有实现的代码片段吗?我非常感谢你的帮助。:)
谨致问候,乔
\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amsthm,amssymb,amsfonts,hyperref}
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[chapter]
\theoremstyle{definition}
\newtheorem{definition}[theorem]{Definition}
\begin{document}
\chapter{A first chapter}
\section{Terminology}
\begin{definition}\label{defi:1.1}
Some first definition.
\end{definition}
\begin{theorem}\label{theo:1.2}
Some theorem.
\end{theorem}
Definition~\ref{defi:1.1} is important for Theorem~\ref{theo:1.2}!
\end{document}
答案1
的目的\label
是引入一个助记符来引用某些数字,例如某个定理。
实现你想做的事情非常简单:
\label{defi:\thetheorem}
可以解决问题,定理也一样。但这样做完全没用,因为你必须参考
Definition~\ref{defi:1.1} is important for Theorem~\ref{theo:1.2}!
无论如何,很明显
Definition~1.1 is important for Theorem~1.2!
\label
更短,甚至不需要像这样的两遍系统\ref
。
最重要的是,你确定编号会保留吗?如果你意识到在定义和定理之间应该陈述一个引理,该怎么办?你将不得不在文档中寻找所有涉及 1.2 的交叉引用以及所有后续语句同一部分的数字将发生变化,因为数字将全部是错的。
与之比较
\chapter{A first chapter}
\section{Terminology}
\begin{definition}\label{defi:first}
Some first definition.
\end{definition}
\begin{theorem}\label{theo:some}
Some theorem.
\end{theorem}
Definition~\ref{defi:first} is important for Theorem~\ref{theo:some}!
这将排版正确的即使你在数字之间添加了引理,如果你收到警告,也只需要再运行一次 LaTeX
Label(s) may have changed. Rerun to get cross-references right.