Ist newclude (immer noch) ein gutes Paket zum Verwenden?

Ist newclude (immer noch) ein gutes Paket zum Verwenden?

Ich habe mir genau dieses MWE ausgedacht, als ich versuchte, meinen Code in mehrere Abschnittsdateien zu organisieren, um die Kompilierung eines Zeitschriftenartikels ( sections, nicht chapters!) zu beschleunigen:

\documentclass{article}
\usepackage{filecontents}
%\usepackage{newclude}
\begin{filecontents}{\jobname-ext.tex}
    \section{A section}
    \label{sec:A}
    References to this section \ref{sec:A} do not work.
\end{filecontents}
\begin{document}
    \begingroup
    \let\clearpage\relax
    \include{\jobname-ext}
    \endgroup

    \section{Another section}
    No page break after section \ref{sec:A}, please!
\end{document}

Überraschenderweise (zunächst) fehlen dem Ergebnis korrekte Referenzen. Es ist weniger überraschend, wenn manProblem mit Querverweisen bei Verwendung des Befehls „include“ zum Einschließen mehrerer DateienUndReferenzetikett mit beiliegender Datei und aufgeklappter Klarsichtseite, insbesondere,diese Antwort.

Wenn wir uns nun die Fragen oben ansehen und„\clearpage“ in LaTeX reaktivieren, nachdem es mit „\let\clearpage\relax“ deaktiviert wurde, keine einzige Antwort oder Kommentar (oder Frage) erwähnt das newcludePaket, das einen \include*Befehl anbietet, der kein ausgibt \clearpage. Ich frage mich, ob dies ein OK-Paket ist, da es nicht aktualisiert wurdeseit 1999.

Hier ist ein weiterer Codeabschnitt, der ohne Neudefinition funktioniert \clearpage:

\documentclass{article}
\usepackage{filecontents}
\usepackage{newclude}
\begin{filecontents}{\jobname-ext.tex}
    \section{A section}
    \label{sec:A}
    References to this section \ref{sec:A} DO work.
\end{filecontents}
\begin{document}
    \include*{\jobname-ext}

    \section{Another section}
    No page break after section \ref{sec:A}, please!
\end{document}

Und hier sind zwei weitere, bei denen das nicht der Fall ist:

\documentclass{article}
\makeatletter
\def\include#1{\relax
  \ifnum\@auxout=\@partaux
    \@latex@error{\string\include\space cannot be nested}\@eha
  \else \@include#1 \fi}
\def\@include#1 {%
  %\clearpage
  \if@filesw
    \immediate\write\@mainaux{\string\@input{#1.aux}}%
  \fi
  \@tempswatrue
  \if@partsw
    \@tempswafalse
    \edef\reserved@b{#1}%
    \@for\reserved@a:=\@partlist\do
      {\ifx\reserved@a\reserved@b\@tempswatrue\fi}%
  \fi
  \if@tempswa
    \let\@auxout\@partaux
    \if@filesw
      \immediate\openout\@partaux #1.aux
      \immediate\write\@partaux{\relax}%
    \fi
    \@input@{#1.tex}%
    %\clearpage
    \@writeckpt{#1}%
    \if@filesw
      \immediate\closeout\@partaux
    \fi
  \else
    \deadcycles\z@
    \@nameuse{cp@#1}%
  \fi
  \let\@auxout\@mainaux}
\makeatother
\usepackage{filecontents}
\begin{filecontents}{\jobname-ext.tex}
    \section{A section}
    \label{sec:A}
    References to this section \ref{sec:A} do not work.
\end{filecontents}
\begin{document}
    \include{\jobname-ext}

    \section{Another section}
    No page break after section \ref{sec:A}, please!
\end{document}

Und

\documentclass{article}
\usepackage{xpatch}
\makeatletter
\patchcmd{\@include}{\clearpage}{}{}{error}
\patchcmd{\@include}{\clearpage}{}{}{error}
\makeatother
\usepackage{filecontents}
\begin{filecontents}{\jobname-ext.tex}
    \section{A section}
    \label{sec:A}
    References to this section \ref{sec:A} do not work.
\end{filecontents}
\begin{document}
    \include{\jobname-ext}

    \section{Another section}
    No page break after section \ref{sec:A}, please!
\end{document}

verwandte Informationen