Configurações de documentos de sincronização LyX de documentos filhos com mestre, especialmente em relação ao estilo de citação

Configurações de documentos de sincronização LyX de documentos filhos com mestre, especialmente em relação ao estilo de citação

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 inputinstruçã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_headere 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).

informação relacionada