交叉引用问题

交叉引用问题

当我使用来自其他文件的交叉引用时,我遇到了问题。我有一个文件夹,其中有一个文件和一个包含和main.tex的子文件夹(章节)。Chapter1.texChapter2.tex

在主文件中,我只包含这样的章节文件:

    \include{Chapters/Chapter1}
    \include{Chapters/Chapter2}

我的问题是,Chapter2.tex我需要在文件中引用第 1 章中的一节。

第1章.tex

\documentclass{standalone}
\begin{document}
\chapter{chapter}
\label{ch:first_chapter}

\section{first section}\label{sc:first_section}
     some Text..........
\end{document}

第2章.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}

当我编译该文件时,只??出现。

答案1

我不认为\chapter这是为独立文档类定义的。除此之外,对我来说,这听起来更像是subfiles包的工作,而不是standalone

主要.tex:

\documentclass{book}
\usepackage{subfiles}
\usepackage{xr-hyper}
\usepackage{hyperref}
\usepackage{xstring}

\begin{document}
   \subfile{chapter1}
   \subfile{chapter2}
\end{document}

和 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}

和 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}

(以上示例假设所有 3 个文件都在同一个文件夹中,对于子文件夹的使用,您必须相应地调整主文件和章节文件的路径)

答案2

之前的/Chapter1错误\externaldocument的。也standalone没有\chapter命令。

在我看来,将此处的各个章节文件拆分成单独的文档没有任何好处。

两个(或全部!)文件都应使用hyperref包以提供正确的标签格式。

\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}

第2章.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}

相关内容