\importonly para processar apenas uma única importação?

\importonly para processar apenas uma única importação?

Estou compondo um documento grande e, em vez de usar inclusão/entrada, uso o \subimport*comando do importpacote. Isso me permite cuidar dos caminhos dos parentes com muita facilidade.

No entanto, o bom disso \includeé que posso \includeonlyincluir apenas determinados arquivos, sem quebrar referências. Existe um comando semelhante para \subimport?

editar

Estou tentando montar algum código que resolva isso, mas meu conhecimento em LaTeX é realmente muito limitado. Eu escrevi algum tipo de pseudocódigo estranho, pode ajudar?

\makeatletter
\AtBeginDocument{%
  \let\origsubimport\subimport
  \newcommand\subimportonly[1]{\let\somevar=#1}
  \renewcommand\subimport[1]{\@ifstar
                             if #1 == letvar, use origsubimport*; 
                             o/w just include aux?
   }}
\makeatother

Responder1

Atualize todas as instâncias de \subimportto \subincludefrome remova a extensão '.tex' do caminho.

Por exemplo, este uso de \subimport:

\begin{document}
\subimport{intro/}{intro.tex}
\subimport{chap1/}{chap1.tex}
\subimport{discussion/}{discussion.tex}
\end{document}

Se tornaria isso:

\begin{document}
\subincludefrom{intro/}{intro}
\subincludefrom{chap1/}{chap1}
\subincludefrom{discussion/}{discussion}
\end{document}

Depois de compilar pelo menos uma vez e agora desejar apenas a discussão (por exemplo) incluída, você pode adicionar um \includeonlyao preâmbulo, assim:

\includeonly{discussion}
\begin{document}
\subincludefrom{intro/}{intro}
\subincludefrom{chap1/}{chap1}
\subincludefrom{discussion/}{discussion}
\end{document}

E o documento incluirá apenas Discussion.tex. Isso torna o loop edit-compile-view mais rápido, não incluindo seções nas quais você não está trabalhando, mas usa os arquivos *.aux para as inclusões intro.tex e chap1.tex para evitar que qualquer referência seja quebrada.

Graças ao comentário de @touhami,esta resposta para Acelerar a compilação (pré-) compilando capítulos separadamente?eesta resposta para Como fazemos inclusões hierárquicas com caminhos locais?por me ajudar a juntar os pontos.

Responder2

No momento em que escrevo, oresposta existentenão funciona em nenhum dos dois Debian/TeXLive 2019 (LaTeX2e <2020-02-02> patch level 5), import 6.0ou Windows/MiKTeX 2.9 (LaTeX2e <2019-10-01> patch level 3), import 6.1. Ambos estão totalmente atualizados.

Há apenas dois dias, 01/04/2020, a versão 6.2foi lançada e estádisponível no CTAN. Usando esse styarquivo manualmente, o problema não foi corrigido.

Enquanto isso, tive que emitir (pegando emprestado o exemplo de @Paul-Calcraft)

\includeonly{discussion/discussion}
\begin{document}
\subincludefrom{intro/}{intro}
\subincludefrom{chap1/}{chap1}
\subincludefrom{discussion/}{discussion}
\end{document}

Ou seja, com o caminho completo em includeonly. Caso contrário, ocorre uma warning (pdf backend): no pages of output.saudação muito inesperada, já que todo o conteúdo do documento está dentro dos subincludefromcomandos.

informação relacionada