da ich online keine Lösung finden konnte, die dieses Problem behoben hat, hoffe ich, dass mir hier jemand helfen kann :)
Hier ist meine main.tex-Datei:
\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}
Datei1 sieht folgendermaßen aus:
%!TeX root = file1.tex
\documentclass[main.tex]{subfiles}
\begin{document}
\subsection{bla}
\begin{theorem}\label{theorem:fix}
blabla
\end{theorem}
\end{document}
In Datei2 versuche ich, wie folgt auf den Lehrsatz zu verweisen:
%!TeX root = file2.tex
\documentclass[main.tex]{subfiles}
\begin{document}
... Theorem~\ref{X-theorem:fix} ...
\end{document}
Während der Kompilierung erhalte ich diese Warnung
name{theorem.0.1} has been referenced but does not exist, replaced by a fixed one
was meiner Meinung nach dieses Problem verursacht ...
Und die Ausgabe im PDF sieht so aus
Theorem 0.1
wobei der Hyperlink nur auf den Anfang des Dokuments zeigt. Es ändert sich nichts, wenn ich main.tex kompiliere, was eine große Datei mit allen Unterdateien erzeugt, oder nur file2.tex. Das Interessante ist meiner Meinung nach, dass es irgendwie weiß, dass ich versuche, auf etwas zu verweisen, das bereits beschriftet ist. Sonst würde dort statt 0.1 ?? stehen. Wenn ich also \label{theorem:fi}
statt schreibe \label{theorem:fix}
, würde hier ?? statt 0.1 stehen.