使用子文件包时引用/标记问题

使用子文件包时引用/标记问题

我在将标签与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后返回:

在此处输入图片描述

现在假设您的所有章节都在主文档中调用,这应该允许您从介绍中引用这些章节(但不是具有当前布局的子章节)。

相关内容