Estou compondo um documento grande e, em vez de usar inclusão/entrada, uso o \subimport*
comando do import
pacote. Isso me permite cuidar dos caminhos dos parentes com muita facilidade.
No entanto, o bom disso \include
é que posso \includeonly
incluir 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 \subimport
to \subincludefrom
e 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 \includeonly
ao 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.0
ou 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.2
foi lançada e estádisponível no CTAN. Usando esse sty
arquivo 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 subincludefrom
comandos.