Knitr & Rmarkdown docx-Tabellen
Bei der Verwendung knitr
und rmarkdown
zusammen, um ein word-Dokument Sie können ein vorhandenes Dokument verwenden zur Formatierung der Ausgabe.
Zum Beispiel in meinem yaml-header:
output:
word_document:
reference_docx: style.docx
fig_caption: TRUE
in diesem Stil habe ich eine Standard-table-Stil - das Ziel hier ist, haben die kable
- Tabelle-Ausgabe in der richtigen Stil.
Wenn ich Stricke das word-Dokument und verwenden Sie die style.docx die Tabellen sind nicht stilisiert, nach der Tabelle.
Verwendung der style-inspector war nicht hilfreich, so weit, nicht sicher, ob das Standard-Tabellenformat ist der falsche Stil zu ändern.
Beispiel-Code:
```{r kable}
n <- 100
x <- rnorm(n)
y <- 2*x + rnorm(n)
out <- lm(y ~ x)
library(knitr)
kable(summary(out)$coef, digits=2, caption = "Test Captions")
```
Ich nicht ein stilisiertes Dokument hochladen ich kann zum testen leider.
TL;DR: Will stilisieren-Tabelle-Ausgabe von rmarkdown und knitr automatisch (via Kabel)
Update: bisher habe ich festgestellt, dass die änderung der 'kompakt' - Stil in der docx ändern, wird der text Inhalt der Tabelle automatisch - aber das behebt nicht die gesamte Tabelle, styling wie die Zelle die Farbe und Ausrichtung.
Update 2: Nach mehr Forschung und Erstellung von styles fand ich, dass knitr
scheint kein problem haben, den Zugriff auf Absatz-Formatvorlagen. Allerdings Tabellenformatvorlagen nicht unter die style-Kategorie, und scheinen nicht zu gelten, in meinem persönlichen Test.
Update 3: Versuchte mit der ReporteRs
Paket -, während es in der Lage war, zu produzieren, die Tabellen als gewünschte die erforderliche syntax zu tun, ist mühsam. Viel eher der Stil wird automatisch angewendet.
Update 4: Sie nicht ändern können TableNormal Stil, noch ist die Einstellung eine Tabelle, Normalen Stil. Der XML-Ansatz ist nicht das, was wir suchen. Ich habe ein VBA-makro, wird den trick tun, wollen einfach nur zu entfernen, dass der Prozess, wenn möglich.
- Das hat nichts zu tun mit
kable
alspandoc
funktioniert die Konvertierung von markdown nach docx. Sie können versuchen, die Schaffung einesTableNormal
Tabelle Stil in der Referenz-docx-Datei. - Zu @daroczig s point, das ist im wesentlichen eine
pandoc
problem und möglicherweise ein Duplikat der stackoverflow.com/questions/17858598/.... Das post ist nur um die Grenzen, aber ich vermute, dass die zugrunde liegenden xml-Daten könnten gehackt werden, um mehr aufwendige Formatierung... - Ich hatte ein ähnliches problem mit den Stilen der reference_docx im Allgemeinen. Vielleicht ist dies das gleiche Problem? github.com/rstudio/rmarkdown/issues/668
- dies ist, nach der Tat aber, wenn Sie sind in der Lage, würde ich empfehlen, mit
knitr
mit pdflatex. Latex nimmt ein wenig mehr Zeit, um herauszufinden, aber es gibt eine Tonne info von Fragen schon gestellt. In der Regel, was Sie tun müssen, ist bereits fertig gestellt und Sie kopieren/einfügen. - das wurde speziell gemacht, in word, weil die Kunden wollen das format.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist im wesentlichen eine Kombination von die Antwort, die empfiehlt,
TableNormal
, in diesem Beitrag rmarkdown.rstudio.com und meine eigenen versuche zu zeigen, wie Sie einTableNormal
Stil anpassen-Tabellen, wie die, die durchkable
:RMD:
TableNormal
als Formatvorlage einen Namen und definieren Sie die gewünschten Stile. In meinen versuchen die meisten Stile gearbeitet, aber einige nicht. (Das hinzufügen von Farbe in die erste Spalte und die erste Zeile Fett war kein problem; die Hervorhebung jeder zweiten Zeile wurde ignoriert.) Der Letzte screenshot in diese Antwort verdeutlicht diesen Schritt.styles.docx
.Ändern Sie den header in der RMD-Datei zu verwenden, die Referenz DOCX (siehe hier; nicht versauen den Einzug – hat mich 10 Minuten suchen, diese Fehler):
Stricken DOCX-wieder – der Stil sollte nun angewendet werden.
Folgenden die Schritte, die ich oben beschrieben habe, ergibt diese Ausgabe:
Und hier ein screenshot von der Tabelle style-dialog benutzt, um zu definieren
TableNormal
. Leider ist es in Deutsch, aber vielleicht kann mir jemand eine englische version von es:Als dies nicht zu funktionieren scheint für die meisten Benutzer (jeder außer mir ...), ich schlage vor, wir testen Sie diese systematisch. Im wesentlichen gibt es 4 Schritte, die schief gehen können:
TableNormal
Stil ist gespeichert in DOCX.Ich daher vorschlagen, mit der gleichen minimalen RMD oben gepostet ( vollständigen code auf pastebin ), um herauszufinden, wo sich die Ergebnisse unterscheiden:
TableNormal
Hinzugefügt: reference.docxDen drei Dateien generiert, die auf dem folgenden system: Windows 7 /R 3.3.0 /RStudio 0.99.896 /pandoc 1.15.2 /Office 2010.
Bekomme ich die gleiche Ergebnisse, die auf einem system mit Windows 7 /R 3.2.4 /RStudio 0.99.484 /pandoc 1.13.1 /Office 2010.
Ich nehme an, die wahrscheinlich Schuldigen sind die pandoc-und Office-Versionen. Ich kann leider nicht testen, andere Konfigurationen, im moment. Jetzt wäre es interessant zu sehen, die folgenden: Für Benutzer, denen es nicht funktioniert, was passiert ...
Mit einer Anzahl von Benutzern, die diese tests sollte es möglich sein, herauszufinden, was die Ursache der Probleme.
pandoc
.War dies tatsächlich ein bekanntes Problem. Zum Glück, es wurde behoben in v2.0 oder höher Versionen von
pandoc
.Und ich getestet habe die neuere version, und fand, dass es eine neu hinzugefügte versteckte Stil namens "Tabelle". Folgende @CL.'s Vorschläge zu ändern "Tabelle" - Stil in
reference.docx
wird in Ordnung sein jetzt.Darüber hinaus sehen diesen Eintrag von
pandoc
's v2.0 release notes:TableNormal
funktioniert nicht für mich auch.Auf meine Niederländische version von Word 2016 (Office 365), fand ich heraus, dass ich Tabellen-markup mit dem Stil
Compact
.Eingang (
refdoc.docx
enthält dieCompact
Stil):Und RMarkdown:
Ausgabe:
Konnte ich meine word-Ausgabe zu verwenden, eine Standard-table-Stil, den ich definiert einen Verweis .docx.
Statt 'TableNormal', die Tabelle Stil vorgegeben war 'Tabelle'.
Entdeckte ich diese durch stricken ein rmarkdown mit einem Kabel.
Dann nahm ich einen Blick auf, dass die generierten XML-Dokuments zu sehen, was Stil hatte es vorgegeben.
Ich definiert das 'Table' - Stil, um etwas Farbe und Rahmen in der Referenz docx. Dies funktioniert für eine standard-table-Stil im gesamten Dokument, habe ich noch keinen Weg gefunden, verwenden Sie verschiedene Stile im Laufe.
Diesem treu geblieben, auch nachdem ich öffnete die Referenz doc und bearbeitet es.