パッケージと一緒にラベルを使用する際に問題があります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
、 という 2 つの追加の 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
と以下が返されます:
ここで、すべてのセクションがメイン ドキュメント内で呼び出されていると仮定すると、序論からセクション (現在のレイアウトではサブセクションではない) を引用できるようになります。