在子文件中:名称{theorem.0.1} 已被引用但不存在,由固定名称替换

在子文件中:名称{theorem.0.1} 已被引用但不存在,由固定名称替换

因为我无法在网上找到解决这个问题的方法,所以我希望这里有人可以帮助我:)

这是我的 main.tex 文件:

\documentclass[a4paper,12pt,headsepline]{article}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{mathtools}
\usepackage[a4paper,left=3.125cm, right=3.125cm, top=2.5cm, bottom=3.0cm]{geometry}
\usepackage{filecontents}
\renewcommand{\baselinestretch}{1.3}
\usepackage{graphicx}
\usepackage{amsthm}
\usepackage{amssymb} 
\usepackage{caption}
\usepackage{cite}
\usepackage{float}
\usepackage{subfiles}
\usepackage{xr} 
\usepackage[breaklinks=true]{hyperref}

\usepackage{amsmath}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{corollary}{Corollary}[theorem]
\newtheorem{lemma}[theorem]{Lemma} 

\externaldocument[X-]{file1}
\externaldocument[G-]{file2}

\begin{document}
\section{abc}

\subfile{file1.tex}

\subfile{file2.tex}

\end{document} 

file1 如下所示:

%!TeX root = file1.tex
\documentclass[main.tex]{subfiles}
\begin{document}
\subsection{bla}
\begin{theorem}\label{theorem:fix}
blabla
\end{theorem}
\end{document} 

在文件 2 中我尝试交叉引用该定理,如下所示:

%!TeX root = file2.tex
\documentclass[main.tex]{subfiles}

\begin{document}
... Theorem~\ref{X-theorem:fix} ...
\end{document} 

在编译过程中,我收到此警告

name{theorem.0.1} has been referenced but does not exist, replaced by a fixed one

我想这会产生这个问题......

pdf 中的输出如下所示

Theorem 0.1

超链接仅指向文档顶部。如果我编译 main.tex,它不会改变,这会生成一个包含所有子文件的大文件,或者只是 file2.tex。有趣的是,在我看来,它以某种方式知道我试图引用已经标记的内容。否则,站在那里的将不是 0.1,而是 ??。因此,如果我写\label{theorem:fi}而不是\label{theorem:fix},这里将写 ?? 而不是 0.1。

相关内容