我有警告
具有相同标识符(name{xtheorem.1})的目标已被使用,重复项已忽略 \relax l.31 \begin{definition}[DefinitionInChapterTwo]
虽然关于“具有相同标识符的目的地”的问题有很多,但我无法根据标识符找到一个xtheorem
。
\begin{definition}
仅当我在多个章节中使用时才会出现此问题,因此我认为在一个章节内,标识符是唯一的,但在整个文档中不是唯一的......
这是我的 MWE:
\documentclass[twoside, openright, 12pt]{book}
\usepackage[plainpages=false,pdfpagelabels]{hyperref}
\usepackage[titles]{tocloft}
\newlistof[chapter]{theorems}{lthm}{\theoremsname}
\newcommand\addtotheorems[2]{
\refstepcounter{theorems}
\addcontentsline{lthm}{theorems}{\protect\numberline{\thetheorems}\textbf{#1:} #2}
}
\usepackage{shadethm}
\newshadetheorem{xtheorem}{Satz}[chapter]
\newshadetheorem{xdefinition}[xtheorem]{Definition}
\newenvironment{definition}[1][]{%
\addtotheorems{Definition}{#1}
\begin{xdefinition}[#1]%
}{\end{xdefinition}}
\begin{document}
\chapter{Title1}
\section{Section 1-1}
\begin{definition}[DefinitionInChapterOne]
\end{definition}
\chapter{Title2}
\section{Section 2-1}
\begin{definition}[DefinitionInChapterTwo]
\end{definition}
\end{document}
您能告诉我哪里需要做改动才能解决这个问题吗?
更新:我发现它与行有关\newshadetheorem{xtheorem}{Satz}[chapter]
这给了我(章节号)。(每章计数器)。但在我看来,这是独一无二的!?!不是吗?如果我改为chapter
,section
我得到了一个定理数,如 1.1.1,这显然意味着(章节号)。(节号)。(每节计数器)
答案1
而不是shadethm
我会看一下tcolorbox
。无论如何,您只需要定义\theHxtheorem
,它将hyperref
用于设置锚点。
最后加载hyperref
。
\documentclass[twoside, openright, 12pt]{book}
\usepackage[titles]{tocloft}
\usepackage{shadethm}
\usepackage[plainpages=false,pdfpagelabels]{hyperref}
\newlistof[chapter]{theorems}{lthm}{\theoremsname}
\newcommand\addtotheorems[2]{% <-- don't forget
\refstepcounter{theorems}% <-- don't forget
\addcontentsline{lthm}{theorems}{\protect\numberline{\thetheorems}\textbf{#1:} #2}% <-- don't forget
}
\newshadetheorem{xtheorem}{Satz}[chapter]
\newshadetheorem{xdefinition}[xtheorem]{Definition}
% keep hyperref happy
\newcommand{\theHxtheorem}{\thechapter.\arabic{xtheorem}}
\newenvironment{definition}[1][]
{\addtotheorems{Definition}{#1}\begin{xdefinition}[#1]}
{\end{xdefinition}}
\begin{document}
\chapter{Title1}
\section{Section 1-1}
\begin{definition}[DefinitionInChapterOne]
\end{definition}
\chapter{Title2}
\section{Section 2-1}
\begin{definition}[DefinitionInChapterTwo]
\end{definition}
\end{document}