O newclude (ainda) é um bom pacote para usar?

O newclude (ainda) é um bom pacote para usar?

Eu criei esse mesmo MWE enquanto tentava organizar meu código em vários arquivos de seção para acelerar a compilação de um artigo de jornal ( sections, não chapters!):

\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}

Surpreendentemente (a princípio), o resultado carece de referências corretas. É menos surpreendente verProblema de referência cruzada ao usar o comando include t para incluir vários arquivoseEtiqueta de referência com arquivo incluído e página transparente relaxada, em particular,esta resposta.

Agora, olhando para as perguntas acima, bem comoReativando “\clearpage” no LaTeX após desligá-lo com “\let\clearpage\relax”, nem uma única resposta ou comentário (ou pergunta) menciona o newcludepacote, que oferece um \include*comando que não emite um \clearpage. Gostaria de saber se este é um pacote OK para usar, já que não foi atualizadodesde 1999.

Aqui está outro trecho de código que funciona sem redefinir \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}

E aqui estão mais dois que não:

\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}

e

\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}

informação relacionada