Wie schwinge ich ein Projekt mit mehreren Dateien?

8

Ich schreibe meine These in LaTeX und da die Dinge für meinen Geschmack ein bisschen lang sind, habe ich sie in mehrere Dateien aufgeteilt. Nennen wir sie thesis.tex , intro.tex , mat_n_met.tex , rslts.tex und discsn.tex . Ich habe intro.tex , mat_n_met.tex , rslts.tex und discsn.tex bis thesis.tex mit \include{intro} (und so weiter ...) verknüpft. Ich habe auch eine separate Datei mit dem Namen r_crunching.Rnw erstellt (die ich durch Sweave durchführe), die einen Chunk enthält, der das R-Skript mit Datenanalyse und Chunks ausführt, die PDF-Ausgaben von Graphen erzeugen, die ich über \includegraphics einbettete (zB% Code%). Immer noch folgen?

Wenn ich einen Rnw (dh ich habe rslts.tex in rslts.tex umbenannt) ohne "eine Verbindung" zu dem Chunk mit dem R-Skript ausgeführt habe, erhalten Sie einen rslts.Rnw Fehler, der besagt, dass der Verweis in Sweave() doesn ' t existieren. Gibt es einen Weg, ohne alle Dateien zu einem einzigen .Rnw zusammenzufassen, um \Sexpr{} in zB \Sexpr{} ?

aufzurufen

Andere Methoden, wie dies zu erreichen ist, sind willkommen.

    
Roman Luštrik 10.08.2010, 18:33
quelle

4 Antworten

4

Vergessen Sie für eine Sekunde, dass Sie es mit Sweave zu tun haben und denken Sie nur an das Latex-Problem - für das \include und \includeonly Lösungen anbieten. Versuchen Sie das mit ein paar einfachen Testdateien.

Sobald Sie das herausgefunden haben, falten Sie Swave wieder in die Mischung und es funktioniert einfach, da Sweave nach 'nur' einem Vorverarbeitungsschritt ist, wenn auch ein sehr cleverer.

    
Dirk Eddelbuettel 10.08.2010, 18:38
quelle
5

Ich empfehle die Verwendung von RStudio ( Ссылка ). Sweave ist gut in diese IDE integriert und unterstützt Dokumente mit mehreren Dateien. Selbst die Synctex- und TeX-Fehlerprotokoll-Navigation funktioniert immer noch bei der Arbeit mit Dokumenten mit mehreren Dateien.

Aus der Hauptdatei können Sie untergeordnete Dateien mit

einschließen %Vor%

Sie können eine untergeordnete Datei mit der übergeordneten Datei verknüpfen, indem Sie die Anweisung

einfügen %Vor%

in der untergeordneten Datei. Auf diese Weise weiß RStudio, wenn er an einer Kinddatei arbeitet und sie eingibt, die Masterdatei zu schreiben.

Die Details werden in der RStudio-Dokumentation unter Ссылка

erläutert     
Gustav Delius 02.07.2013 17:10
quelle
2

Um die Antwort von Dirk und mjm zu erweitern, würde ich vorschlagen, \include 's und Makefiles zu verwenden.

Angenommen, Sie haben eine Master-Datei: master.tex . In dieser Datei enthalten Sie einige Dateien .tex und .Rnw , d. H.

%Vor%

Nun bietet das folgende Makefile Funktionen zum Erstellen der Dateien .tex , .R und .pdf :

%Vor%

Im Wesentlichen enthält .SUFFIXES eine Reihe von Regeln für die Konvertierung von einem Dateiformat in ein anderes. Um beispielsweise von .Rnw nach .R zu konvertieren, verwenden wir den Befehl

%Vor%     
csgillespie 27.09.2011 08:54
quelle
1

Eine ziemlich offensichtliche Antwort ist die Verwendung eines Makefiles, möglicherweise mit dem Paket cachesweave, um die relevanten Dateien in der richtigen Reihenfolge zu verarbeiten.

    
malecki 10.08.2010 21:04
quelle