当我使用来自其他文件的交叉引用时,我遇到了问题。我有一个文件夹,其中有一个文件和一个包含和main.tex
的子文件夹(章节)。Chapter1.tex
Chapter2.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}