Faça um setcounter apenas para um arquivo incluído

Faça um setcounter apenas para um arquivo incluído

Atualmente tenho a seguinte situação: estou incluindo um arquivo Latex no meu arquivo principal. Este arquivo já possui várias \section{}partes. Agora quero que a contagem comece 1novamente, mas sem atrapalhar a contagem global no meu arquivo mestre. Eu tentei o seguinte:

\subsection{First}
\setcounter{section}{0}
\input{first_file}
\subsection{Second}
\setcounter{section}{0}
\input{second_file}

Isso funciona para zerar o contador, mas também atrapalha minha contagem global. Existe uma maneira de zerar o contador sem atrapalhar o documento global? Não quero alterar os arquivos incluídos e, de preferência, quero uma solução portátil.
Editar: Explicação para bagunçar: O que recebo é:

1
2
3
\begin{input}
1
2
\end{input}
3
4
5

O que eu quero:

1
2
3
\begin{input}
1
2
\end{input}
4
5
6

Responder1

Defina um contador auxiliar e utilize-o para armazenamento temporário do número da seção.

Em seguida, use \inputreset{file}para inserir um arquivo onde deseja redefinir o número da equação.

No entanto, você terágrandeproblemas assim que você tenta carregar o arquivo hyperref.

\newcounter{storedsection}

\newcommand{\inputreset}[1]{%
  \setcounter{storedsection}{\value{section}}%
  \setcounter{section}{0}%
  \input{#1}%
  \setcounter{section}{\value{storedsection}}%
}

Responder2

Isso usa um contador temporário para armazenar o valor do contador de seção antes que o primeiro \inputseja usado. Além disso, o \inputcomando é alterado para \refstepcounterum contador de entrada, que sectionpor sua vez reinicia o contador.

EditarArmazenamento automatizado do valor do contador de seção para first \input.

Alguma desvantagem: Cada vez que \inputé usado, o contador de seções é zerado. Se isso for um problema, pode-se remover a redefinição após algum limite.

\documentclass{article}

\usepackage{etoolbox}
\usepackage{xpatch}

\usepackage[hypertexnames=false]{hyperref}
\newcounter{inputfilecounter}

\newcounter{storesection}


\xpretocmd{\input}{%
  \ifnumequal{\value{inputfilecounter}}{0}{%
    \setcounter{storesection}{\value{section}}%
  }{}%
  \refstepcounter{inputfilecounter}
}{}{}

\newcommand{\RestoreSectionCounter}{%
  \setcounter{section}{\value{storesection}}%
}

\makeatletter
\@addtoreset{section}{inputfilecounter}
\makeatother

\begin{document}

\tableofcontents

\section{Regular}
\clearpage

\input{firstfile}
\clearpage

\input{secondfile}

\RestoreSectionCounter
\clearpage
\section{Continued regular sections}
\end{document}

insira a descrição da imagem aqui

informação relacionada