2016-04-27 22 views
0

Ich versuche, eine Beschriftung zu einer Pandoc-Tabelle in einer Rmarkdown-Datei (Ausgabe in PDF) zentrieren. Der Tisch ist page-zentriert und ich möchte, dass die Beschriftung ähnlich zentriert ist. Ich kann keine Option in pander/pandoc.table finden, die mir das in Rmarkdown ermöglicht, das ich in Rstudio/Knitr schreibe. Meine einzige Lösung ist derzeit, eine Kette von ... nbsp aufzunehmen;R: knitr: pander: Ausrichtung der Überschrift auf Tabelle

Ich habe panderOptions überprüft, und ich habe auch die Kommentare (ohne Erfolg) in xtable caption alignment left aligned with table or centered (using knitr), durch Einfügen von Code in der Yaml-Header. Und ich habe einen Zeilenumbruch wie hier vorgeschlagen hinzugefügt: Issue with creating PDf file with Pander+Knitr: Error when putting table with caption and plot directly next to each other.

Alle Vorschläge wären sehr willkommen.

Danke, Richard

Rmarkdown doc:

header-includes: 
- \usepackage[ 
    singlelinecheck=false, 
    justification=centering 
    ]{caption} 
output: 
    pdf_document 
--- 

```{r table2, echo=FALSE, message=FALSE, warnings=FALSE, results='asis'} 
library(pander) 
panderOptions('keep.line.breaks', TRUE) 
table2 <- "HHHH member | Description of future  
      H11111    | standard model  
      H22222    | low model  
      H33333    | decreasing projection" 
df2 <- read.delim(textConnection(table2), header=FALSE, sep="|", strip.white=TRUE, stringsAsFactors=FALSE) 
names(df2) <- unname(as.list(df2[1,])) 
df2 <- df2[-1,] # remove first row 
row.names(df2) <- NULL 
pandoc.table(df2, 
      caption= "Table 2. Insert title here\n", style = "multiline", split.cells = c(20, 25)) 
``` 

System: Linux Mint (17.1)/Ubuntu Trusty RStudio: 0.98.1103 Pander: 0.6.0 Knitr: 1.12. 3

Antwort

0

Das einfache Hinzufügen --- an der Spitze löste das Problem auf meiner Maschine.

--- 
header-includes: 
- \usepackage[ 
    singlelinecheck=false, 
    justification=centering 
    ]{caption} 
output: 
    pdf_document 
--- 

```{r table2, echo=FALSE, message=FALSE, warnings=FALSE, results='asis'} 
library(pander) 
panderOptions('keep.line.breaks', TRUE) 
table2 <- "HHHH member | Description of future  
      H11111    | standard model  
      H22222    | low model  
      H33333    | decreasing projection" 
df2 <- read.delim(textConnection(table2), header=FALSE, sep="|", strip.white=TRUE, stringsAsFactors=FALSE) 
names(df2) <- unname(as.list(df2[1,])) 
df2 <- df2[-1,] # remove first row 
row.names(df2) <- NULL 
pandoc.table(df2, 
      caption= "\\label{tab:MyLabel}Insert title here\n", style = "multiline", split.cells = c(20, 25)) 
``` 

In table&nbsp;\ref{tab:MyLabel} blabla 

\autoref{tab:MyLabel} 

Edit: fügen Sie ein Label und Verweis auf die Tabelle in LaTeX Stil

+0

Dank für die Prüfung. Es scheint, dass ich die Zeile enthalten habe: panderOptions ('table.caption.prefix', '') in der ersten Tabelle in der rmarkdown-Datei, und dies hat sich durch alle nachfolgenden Tabellen ausgebreitet, die die Untertitel versauen. Ich muss herausfinden, wie man die Tabellen besser manuell beschriften kann, um z. B. Tabelle 2 zu vermeiden. Tabelle 3. ... für eine gegebene Tabelle. – Richard

+0

@Richard Wenn Sie 'table.caption.prefix' ändern, dann wird es möglicherweise die Markdown-Syntax vermasseln, siehe Warnung auf der verwandten [man-Seite] (http://rapporter.github.io/pander/#general-options). Wenn Sie Ihrer Tabelle ein Nummernpräfix hinzufügen möchten, tun Sie dies innerhalb des "caption" -Teils. Oder öffnen Sie ein Ticket auf GH, um eine weitere Option zum Erhöhen der Tabellennummer hinzuzufügen. Ich werde das untersuchen - obwohl ich keine globale Lösung bereitstellen kann, die mit allen Dokumentenformaten funktioniert. – daroczig

+0

Lassen Sie LaTeX die Tabellennummerierung durchführen. – Thierry