我在将标签与subfiles
包一起使用时遇到了问题。当我在一个部分中写作并尝试引用不同的部分(或就此而言,该部分内的任何内容)时,我收到未定义的标签错误。我的main.tex
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{graphicx}
\graphicspath{{images/}{../images/}}
\usepackage{subfiles}
\begin{document}
\maketitle
\section{Introduction}
\label{sec:intro}
\subfile{sections/CH1_Introduction}
\section{Theory of Ultrasound Anemometer}
\label{sec:theory}
\subfile{sections/CH2_Theory}
然后,例如,当我在“介绍”部分文件中写入时:
In section \ref{sec:theory} the theory will be discussed ...
这会导致未定义的引用错误。有人能帮帮我吗?是标签命令的问题吗?还是我做错了什么?
答案1
这可以通过包 xr 来完成。下面是一个 MWE,它对项目的布局做了一些假设。在根文件夹中,在一个名为的文件下main.tex
:
\documentclass{article}
\usepackage{xr}
\usepackage{subfiles}
\begin{document}
\section{Introduction}
\subfile{sections/CH1_Introduction}
\label{sec:intro}
\section{Theory of Ultrasound Anemometer}
\subfile{sections/CH2_Theory}
\label{sec:theory}
\end{document}
然后,在名为的子文件夹中sections
,有两个额外的 tex 文件,分别名为CH1_Introduction
:
\documentclass[../main.tex]{subfiles}
\externaldocument{../main.tex}
\begin{document}
This is a text written in the introduction file that discusses the rest of the paper. We will discuss the theory of ultrasound traducers in section \ref{sec:theory}.
\end{document}
和CH2_Theory.tex
:
\documentclass[../main.tex]{subfiles}
\externaldocument{../main.tex}
\begin{document}
Here we talk about the ultrasound traducers that we said we would discuss in section \ref{sec:intro}.
\end{document}
编译main.tex
后返回:
现在假设您的所有章节都在主文档中调用,这应该允许您从介绍中引用这些章节(但不是具有当前布局的子章节)。