в подфайле: имя {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.

Связанный контент