2009-04-30 21 views
4

Wenn R PDFs mit pdf() erstellt, enthält es ein CreationDate und ein ModDate in der PDF. Ich habe eine Anzahl solcher generierten PDFs in einem Svn-Repository und der Effekt ist, dass, wenn Zahlen von R neu erstellt werden, sogar mit denselben Daten, sie (zu Recht) für Svn modifiziert werden. Was ist der beste Weg, um die beiden gut zusammen zu spielen?CreationDate/ModDate in R pdf-Ausgabe unterdrücken oder einstellen

Ich könnte diese Zeilen einfach aus den PDFs außerhalb von R entfernen, aber dieser zusätzliche Schritt ist unerwünscht.
Ich könnte die Systemzeit auf einen bestimmten festen Wert als Teil der Ausführung der Skripts setzen, aber das ist noch weniger wünschenswert.
Ich könnte svn wahrscheinlich sogar davon überzeugen, ein spezielles diff zu verwenden, das Änderungen in diesen Zeilen ignoriert, aber das klingt nach mehr Ärger als es wert ist.

Eine sehr angenehme Lösung wäre, wenn es eine Möglichkeit gäbe, R davor zu bewahren, diese Zeilen in die PDF-Datei zu schreiben. Ich habe ein Dateisystem, um mir zu sagen, wenn Dateien erstellt und geändert wurden Vielen Dank, ich brauche diese Informationen auch nicht in der Datei gespeichert.

Antwort

3

Ich stimme Tal zu, generierte Dateien sollten nicht in Versionskontrolle sein.

In Bezug auf Ihre ursprüngliche Frage, denke ich, die Antwort ist nein, Sie können nicht aufhören R davon zu tun. Ich habe keine Erwähnung solcher Optionen in der R-PDF-Hilfedatei gefunden, http://www.r-cookbook.com/rhelp/pdf.html

Wenn Sie einen Blick auf die PDF-Funktion innerhalb von R (nur Ausführen von 'PDF' ohne Klammer für einen Ausdruck des Codes) wird es tatsächlich erstellt die pdf-Datei mit einem Aufruf an:

.External(PDF, file, old$paper, old$family, old$encoding, old$bg, old$fg, 
     old$width, old$height, old$pointsize, onefile, old$pagecentre, old$title, 
     old$fonts, version[1L], version[2L], old$colormodel, old$useDingbats, 
     old$useKerning) 

Keine Erwähnung der Optionen, die Sie suchen, so sind Sie wahrscheinlich kein Glück. Es sei denn, Sie möchten den Code aufspüren, den R verwendet, um ein PDF zu erzeugen und es zu ändern.

3

Während dies Ihre Frage nicht wirklich beantwortet, ist es normalerweise am besten, automatisch generierte Dateien aus der Quellcodeverwaltung auszuschließen, genau aus diesem Grund.

+1

Ich stimme nicht wirklich zu. Wenn Sie beispielsweise einen Algorithmus optimieren, möchten Sie sicherstellen, dass die Optimierung nicht die Ausgabe ändert (die möglicherweise in Ihrer anderen Arbeit verwendet wird). Die Ausgabe unter die Versionskontrolle zu stellen ist eine Art zu testen, wenn auch vielleicht nicht der beste Weg. –

Verwandte Themen