Ich habe ein Problem, wenn ich einen Querverweis aus anderen Dateien verwende. Ich habe einen Ordner, in dem sich eine main.tex
Datei befindet, und einen Unterordner (Kapitel), der Chapter1.tex
und enthält Chapter2.tex
.
In die Hauptdatei füge ich nur die Kapiteldateien wie folgt ein:
\include{Chapters/Chapter1}
\include{Chapters/Chapter2}
Mein Problem ist, dass Chapter2.tex
ich in der Datei auf einen Abschnitt aus Kapitel 1 verweisen muss.
Kapitel1.tex
\documentclass{standalone}
\begin{document}
\chapter{chapter}
\label{ch:first_chapter}
\section{first section}\label{sc:first_section}
some Text..........
\end{document}
Kapitel2.tex
\documentclass{standalone}
\usepackage{xr-hyper}
\usepackage{hyperref}
\externaldocument[C1-]{/Chapter1}
\begin{document}
\chapter{Second Chapter}
\label{ch:second_chapter}
\section{section}\label{sc:first_section_ch2}
Some text...text \ref{C1-sc:first_section}
\end{document}
Wenn ich die Datei kompiliere, wird nur ??
angezeigt.
Antwort1
Ich glaube nicht, \chapter
dass es für die eigenständige Dokumentklasse definiert ist. Abgesehen davon klingt das für mich eher nach einer Aufgabe für das subfiles
Paket als für standalone
:
main.tex:
\documentclass{book}
\usepackage{subfiles}
\usepackage{xr-hyper}
\usepackage{hyperref}
\usepackage{xstring}
\begin{document}
\subfile{chapter1}
\subfile{chapter2}
\end{document}
und chapter1.tex
% !TeX root = chapter1.tex
\documentclass[main]{subfiles}
\begin{document}
\chapter{chapter}
\label{ch:first_chapter}
\section{first section}\label{sc:first_section}
some Text..........
\end{document}
und chapter2.tex
% !TeX root = chapter2.tex
\documentclass[main]{subfiles}
\IfEq{\jobname}{\detokenize{main}}{}{%
\externaldocument{chapter1}
}
\begin{document}
\chapter{Second Chapter}
\label{ch:second_chapter}
\section{section}\label{sc:first_section_ch2}
Some text...text \ref{sc:first_section}
\end{document}
(das obige Beispiel geht davon aus, dass alle 3 Dateien im selben Ordner liegen, für die Verwendung von Unterordnern müssen Sie die Pfade der Hauptdatei und der Kapiteldateien entsprechend anpassen)
Antwort2
Das /
Vorhergehende ist falsch. Habe den Chapter1
Befehl auch nicht .\externaldocument
standalone
\chapter
Aus meiner Sicht bringt es nichts, hier aus den einzelnen Kapiteldateien separate Dokumente zu machen.
Beide (oder alle!) Dateien sollten hyperref
Pakete verwenden, um das richtige Etikettenformat bereitzustellen.
\documentclass{book}
\usepackage{xr-hyper}
\usepackage{hyperref}
\begin{document}
\chapter{chapter}
\label{ch:first_chapter}
\section{first section}\label{sc:first_section}
some Text..........
\end{document}
Kapitel2.tex
\documentclass{book}
\usepackage{xr-hyper}
\usepackage{hyperref}
\externaldocument[C1-]{Chapter1}
\begin{document}
\chapter{Second Chapter}
\label{ch:second_chapter}
\section{section}\label{sc:first_section_ch2}
Some text...text \ref{C1-sc:first_section}
\end{document}