我想在一个大项目中的子文件之间进行引用,主文件的主要结构如下main.tex
:
\documentclass[12pt]{book}
\usepackage{subfiles}
\usepackage{xr}
\externaldocument[I-]{intro/intro}
\externaldocument[A-]{ante/ante}
\begin{document}
\chapter{chap1}
\subfile{intro/intro.tex}
\chapter{chap2}
\subfile{ante/ante.tex}
\end{document}
和子文件 1 intro.tex:
\documentclass[../main.tex]{subfiles}
\begin{document}
... \section{secA}\label{sec:secta}
\end{document}
以及子文件 2 ante.tex:
\documentclass[../main.tex]{subfiles}
\begin{document}
... in \ref{I-sec:secta}
\end{document}
但问题是我只收到“... 在 (??)“ 而不是参考编号 ”在(数字)“在输出文件中ante.pdf
,我尝试更改路径,但??
参考编号中仍然有。有人知道如何解决这个问题吗?提前谢谢了。
答案1
的编译ante.tex
不会解析的交叉引用,因为它根本intro.tex
没有任何信息。intro.tex
\externaldocument[I-]{../intro/intro}
再次使用ante.tex
。
\documentclass[../subfilesmain.tex]{subfiles}
\externaldocument[I-]{../intro/intro}
\begin{document}
in \ref{I-sec:secta}
\end{document}
subfilesmain.tex
\documentclass[12pt]{book}
\usepackage{subfiles}
\usepackage{xr}
\externaldocument[I-]{intro/intro}
\externaldocument[A-]{ante/ante}
\begin{document}
\chapter{chap1}
\subfile{intro/intro.tex}
\chapter{chap2}
\subfile{ante/ante.tex}
\end{document}
intro.tex
\documentclass[../subfilesmain.tex]{subfiles}
\begin{document}
... \section{secA}\label{sec:secta}
\end{document}