2017-08-22 7 views
1

Meine Frage ist sehr ähnlich zu this one auf Fußnoten in xtable zeigt, obwohl die vorgeschlagene aktualisierte Lösung für mich nicht funktioniert. Ich gehe davon aus, dass ich etwas in meinem eigenen Setup vermisse, daher die separate Frage. Ich glaube nicht, dass das Problem ist, was in this question beschrieben wird, da ich die sanitize.text.function in der print Anruf anstelle der xtable Anruf verwende.Zeigen Sie mehrere Fußnoten in xtable

Unten ist ein Bild der PDF-Ausgabe. Wie man sehen kann, erscheint der tatsächliche Fußnotentext nicht in der PDF-Ausgabe, selbst nach zweimaligem Rendern. Die hochgestellte Fußnote do erscheint jedoch. Ich rendere mit der Schaltfläche "Stricken" in RStudio.

Wie kann ich den tatsächlichen Fußnotentext anzeigen lassen?

PDF-Ausgabe:

PDF output

Mein Code aus der .Rmd Datei ist unten.

--- 
title: "xtable footnotes" 
output: 
    pdf_document: 
     keep_tex: true 
     fig_caption: true 

--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo = TRUE) 
``` 

```{r results = "asis"} 
library(xtable) 

x <- matrix(rnorm(60), ncol = 10) 

x.big <- xtable(x,label = 'tabbig', caption = 'Example of xtable footnotes') 
names(x.big) <- LETTERS[1:10] 

names(x.big)[1] <- paste('A','footnote1') # I put the tag on A letter 
names(x.big)[9] <- paste('I','footnote2') # I put the tag on I letter 
print(x.big, 
     type = "latex", 
     sanitize.text.function = function(str){ 
     str <- gsub("footnote1","\\footnote{my tricky footnote 1 !!}", str, fixed = TRUE) 
     str <- gsub("footnote2","\\footnote{my tricky footnote 2 !!}", str, fixed = TRUE) 
     } 
     ) 
``` 

Der .tex Ausgang für die Tabelle ist wie folgt: Am Ende

\% latex table generated in R 3.4.1 by xtable 1.8-2 package \% Tue Aug 
22 09:45:33 2017 

\begin{table}[ht] 
\centering 
\begin{tabular}{rrrrrrrrrrr} 
    \hline 
& A \footnote{my tricky footnote 1 !!} & B & C & D & E & F & G & H & I \footnote{my tricky footnote 2 !!} & J \\ 
    \hline 
1 & 1.13 & -0.00 & -0.14 & 0.83 & 0.58 & -0.65 & -1.12 & -2.04 & -0.64 & 0.50 \\ 
    2 & 0.13 & -0.65 & -1.11 & 0.06 & -1.32 & -0.28 & 0.96 & 1.19 & -0.41 & -0.51 \\ 
    3 & -0.73 & 0.16 & -0.26 & -1.50 & -1.34 & 0.84 & -0.28 & -0.02 & -0.98 & 1.13 \\ 
    4 & 0.33 & 0.89 & -1.08 & -0.89 & 1.16 & 1.70 & -0.77 & -0.21 & 1.01 & 0.22 \\ 
    5 & 0.86 & 0.19 & -0.94 & -1.36 & -2.49 & 0.62 & 0.87 & -1.17 & -0.24 & 0.17 \\ 
    6 & 0.19 & -0.15 & 0.20 & -0.56 & 0.04 & 1.20 & -0.72 & -1.39 & -1.30 & 0.03 \\ 
    \hline 
\end{tabular} 
\caption{Example of xtable footnotes} 
\label{tabbig} 
\end{table} 

Antwort

0

eine einfache Lösung, trial-and-error gefunden durch.

Damit die Fußnoten angezeigt werden, müssen das LaTeX-Paket longtable und die Umgebung verwendet werden. Ich fügte sie in den header-includes Teil des YAML Headers hinzu und dann lief der Code wie erwartet.

den folgenden Code in der Datei .Rmd Verwendung machten die Fußnoten:

--- 
title: "xtable footnotes" 
output: 
    pdf_document: 
     keep_tex: true 
     fig_caption: true 
header-includes: 
    - \usepackage{longtable} 

--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo = TRUE) 
``` 

```{r results = "asis"} 
library(xtable) 

x <- matrix(rnorm(60), ncol = 10) 

x.big <- xtable(x,label = 'tabbig', caption = 'Example of xtable footnotes') 
names(x.big) <- LETTERS[1:10] 

names(x.big)[1] <- paste('A','footnote1') 
names(x.big)[9] <- paste('I','footnote2') 

# tabular.environment needs to be 'longtable' 
# \usepackage{longtable} needs to be in the YAML header at the start of the .Rmd file 

print(x.big, 
     tabular.environment = 'longtable', 
     floating = FALSE, 
     sanitize.text.function = function(str){ 
     str <- gsub("footnote1","\\footnote{my tricky footnote 1 !!}", str, fixed = TRUE) 
     str <- gsub("footnote2","\\footnote{my tricky footnote 2 !!}", str, fixed = TRUE) 
    } 
) 
``` 

Die erzeugte Tabelle sieht wie folgt aus, mit Fußnoten am unteren Rand der Seite:

fixed table with footnotes