
Como posso ter certeza de que as configurações do documento filho são compatíveis com o documento mestre?
Hoje tive um grande aborrecimento em relação à citação:
Se eu escolher "citation style standard (numerical)" no documento mestre e "natbib" no documento filho recebo na "janela inserir citação" (no documento filho) as opções que pertencem ao pacote natbib (citet, citep, cita-autor etc.). Tentar renderizar o documento dá um erro: "sequência de controle indefinida" (obviamente, já que o \citet só está definido no pacote natbib, que não incluí (no master, pelo menos)).
Preciso manter as configurações mestre e secundária sincronizadas manualmente? Não deveria ser possível fazer isso automaticamente ou há casos de uso em que configurações diferentes são úteis? Espero um comportamento semelhante ao do LaTeX, onde também é possível ter subdocumentos sem nenhum cabeçalho.
Este problema:LyX BibTeX com documentos filhos não funciona foi obviamente causado pelo mesmo problema.
Responder1
Provavelmente, isso pode responder apenas parcialmente à sua pergunta: tenho um documento mestre com alguns documentos filhos. Todos os arquivos lyx possuem o mesmo tipo de documento e usam os padrões. Para incluir pacotes ou definir macros eu tenho um arquivo tex adicional (options.tex) que contém tudo o que precisa ser feito no preâmbulo.
No preâmbulo dos documentos lyx adiciono uma input
instrução.
\input{options}
Esta solução não é perfeita, mas permite compilar o documento mestre (o que leva algum tempo, pois tem mais de 190 páginas) ou compilar apenas um documento filho.
Responder2
Atualmente, a única opção parece ser sincronizar manualmente as configurações, o que é propenso a erros. Para reduzir erros, o fluxo de trabalho mais confiável que encontrei é:
- Altere as configurações do documento pai.
- Fechar LyX
- Abra o documento pai como documento de texto simples (por exemplo, com Emacs) e copie a parte começando
\begin_header
e terminando com\end_header
. - Para cada documento filho:
- Abra o documento filho como texto simples
- Substitua o cabeçalho pelo cabeçalho do documento pai.
Eu escrevi um script para automatizar esse processo,lyx-header-util.py
[gist.github.com](requer python 3), o que reduz o fluxo de trabalho para
Para cada execução de documento filho
lyx-header-util.py copyheaderinplace PARENTFILE.LYX CHILDDOCUMENT.lyx
(backup recomendado antes de fazer isso; o script substitui os arquivos originais).