I maintain a set of open calculus texts for our calculus sequence, which has four courses (Calculus I-IV). Each course has its own corresponding open text. Occasionally the text for a later course will need to refer back to a result in one of the earlier texts.
As usual, I accomplish this using the xr package, loading the previous texts as external documents, and everything works fine, except for the following issue:
Because an instructor for a prerequisite course in the sequence might not get through all the material they need to, I repeat some sections. For example the first chapter in Calculus III might contain several sections from the last chapter of Calculus II.
This results in a proliferation of multiply-defined references from the repeated sections when using xr to cross-reference the earlier texts.
Is there any way to configure the xr package to ignore references from the repeated sections?
Example: overall project has BookA.tex and BookB.tex in the top level of the directory tree. There are subdirectories such as /text (containing the .tex files for each section), /figures, etc.
BookA has two sections, included using
\input{text/Section1}
\input{text/Section2}
BookB is a continuation of BookA, but due to overlap between courses that use BookA and BookB, it also includes Section2. So BookB has
\usepackage{xr}
\externaldocument{BookA}
in the preamble, and in the document, has
\input{text/Section2}
\input{text/Section3}
Since Section2 appears in both BookA and BookB, using BookA for cross referencing creates multiply-defined references.
I want a way to reference BookA (because Section3 has references to Section1, say) but omit the sections that also occur in BookB.
\externaldocument[cii-]{cii.tex}\externaldocument[ciii-]{ciii.tex}
will give you\ref{cii-foo}
and\ref{ciii-foo}
even if both files have\label{foo}