LyX synchronisiert Dokumenteinstellungen von untergeordneten Dokumenten mit dem Hauptdokument, insbesondere hinsichtlich des Zitierstils

LyX synchronisiert Dokumenteinstellungen von untergeordneten Dokumenten mit dem Hauptdokument, insbesondere hinsichtlich des Zitierstils

Wie kann ich sicherstellen, dass die Dokumenteinstellungen eines Unterdokuments mit denen des Masterdokuments kompatibel sind?

Heute hatte ich großen Ärger mit dem Zitieren:

Wenn ich im Hauptdokument „Zitationsstil Standard (numerisch)“ und im untergeordneten Dokument „natbib“ wähle, erhalte ich im Fenster „Zitat einfügen“ (im untergeordneten Dokument) die Optionen, die zum natbib-Paket gehören (citet, citep, citeauthor usw.). Beim Versuch, das Dokument darzustellen, wird ein Fehler angezeigt: „Steuersequenz nicht definiert“ (offensichtlich, da \citet nur im natbib-Paket definiert ist, das ich nicht aufgenommen habe (zumindest im Hauptdokument)).

Muss ich die Master- und Child-Einstellungen manuell synchron halten? Sollte das nicht automatisch möglich sein oder gibt es Anwendungsfälle, in denen andere Einstellungen sinnvoll sind? Ich erwarte ein Verhalten wie bei LaTeX, wo es auch möglich ist, Unterdokumente ohne Header zu haben.

Dieses Problem:LyX BibTeX mit Kinddokumenten funktioniert nicht wurde offensichtlich durch dasselbe Problem verursacht.

Antwort1

Dies beantwortet Ihre Frage wahrscheinlich nur teilweise: Ich habe ein Hauptdokument mit einigen untergeordneten Dokumenten. Alle Lyx-Dateien haben denselben Dokumenttyp und verwenden die Standardeinstellungen. Um Pakete einzubinden oder Makros zu definieren, habe ich eine zusätzliche Tex-Datei (options.tex), die alles enthält, was in der Präambel getan werden muss.

In der Präambel der Lyx-Dokumente füge ich eine inputAnweisung hinzu.

\input{options}

Diese Lösung ist nicht perfekt, aber sie ermöglicht mir die Erstellung des Hauptdokuments (was einige Zeit dauert, da es mehr als 190 Seiten umfasst) oder nur eines untergeordneten Dokuments.

Antwort2

Derzeit scheint die einzige Möglichkeit darin zu bestehen, die Einstellungen manuell zu synchronisieren, was jedoch fehleranfällig ist. Um Fehler zu reduzieren, ist der zuverlässigste Workflow, den ich gefunden habe:

  • Ändern Sie die Einstellungen des übergeordneten Dokuments.
  • Schließen LyX
  • Öffnen Sie das übergeordnete Dokument als Nur-Text-Dokument (z. B. mit Emacs) und kopieren Sie den Teil, der mit beginnt \begin_headerund endet \end_header.
  • Für jedes untergeordnete Dokument:
    • Untergeordnetes Dokument als Nur-Text öffnen
    • Überschreiben Sie die Kopfzeile mit der Kopfzeile des übergeordneten Dokuments.

Ich habe jedoch ein Skript geschrieben, um diesen Prozess zu automatisieren.lyx-header-util.py[gist.github.com](erfordert Python 3), was den Workflow reduziert auf

  • Führen Sie für jedes untergeordnete Dokument einen

    lyx-header-util.py copyheaderinplace PARENTFILE.LYX CHILDDOCUMENT.lyx
    

(vorher eine Sicherungskopie erstellen; das Skript überschreibt die Originaldateien).

verwandte Informationen