2017-06-12 3 views
2

Ich habe ein Dokument, das ich auf der Grundlage von Daten von verschiedenen Banken und für Mitarbeiter an verschiedenen Standorten und Rollen erstellen. Meine .Rmd Datei ist wie folgt:Wie ändere ich die Schriftgröße der Tabelle in Rmarkdown, LaTeX und .pdf?

--- 
title: <center> <h1>Output Report</h1> </center> 
mainfont: Arial 
output: 
    pdf_document: 
    latex_engine: xelatex 
sansfont: Arial 
fig_crop: false 
toc: true 
classoption: landscape 
fontsize: 11pt 
geometry: margin=0.45in 
header-includes: 
- \usepackage{booktabs} 
- \usepackage{sectsty} \sectionfont{\centering} 
- \renewcommand{\contentsname}{}\vspace{-2cm} 
--- 
<style> 
    .main-container { 
    max-width: 1200px !important; 
    } 
</style> 

```{r load myData, include=FALSE} 
load("C:/Desktop/RawData.RData") 
``` 

```{r global_options, R.options=knitr::opts_chunk$set(warning=FALSE, message=FALSE)} 
``` 
\newpage 

# Client One 

```{r fig.width=18, fig.height=6, echo=FALSE, comment=" "} 
library(ggplot2) 
ggplot(subset(Durations, Client == "Client One")) + 
    aes(x = NumStart, y = Value) + 
    geom_rect(aes(xmin = NumStart, xmax = NumEnd, 
       ymin = 0, ymax = 0.8, 
       fill = Position)) + 
    geom_text(data=Inv[Inv$Client == "Client One",], 
      aes(x = Median, y = Value, 
      label = Symbol), 
      size = 4.5) + 
    scale_fill_manual(values=myColors) + 
scale_x_continuous(expand = c(0.015, 0.015)) + 
    scale_y_continuous(expand = c(0, 0),limits = c(0, 0.8), 
        labels = c("F50", "FMID", "DMID", "D50"), 
        breaks = c(0.1, 0.3, 0.5, 0.7)) + 
    theme_classic() + 
    theme(legend.position = "bottom", 
     legend.title = element_blank(), 
     legend.key.size = unit(1.25, 'lines'), 
     legend.text = element_text(size = 12, colour = "black", face = "bold"), 
     axis.title.x = element_blank(), 
     axis.title.y = element_blank(), 
     axis.text.y = element_text(face = "bold", size = 15, colour = "black"), 
     axis.text.x = element_text(face = "bold", colour = "black", size = 10), 
     axis.ticks.y = element_blank(), 
     axis.line.y = element_blank(), 
     panel.spacing = unit(0.5, "lines"), 
     strip.text = element_text(color = "black", size = 15, face = "bold")) + 
    facet_wrap(~ Bank, nrow = 1, scales = "free_x") 
``` 
<br> 
<br> 
<br> 
<br> 
```{r, echo=FALSE, results='asis'} 
library(knitr) 
library(xtable) 

t1 <- kable({x <- subset(Inv_Location, Client=="Client One", select = Location:DE); 
      names(x) <- sprintf("\\textbf{%s}", names(x)) 
      x}, 
      format = "latex", booktabs = TRUE, row.names = FALSE, 
      align = 'c', escape = FALSE) 
t2 <- kable({x <- subset(Inv_Role, Client == "Client One", select = Role:DE); 
      names(x) <- sprintf("\\textbf{%s}", names(x)) 
      x}, 
      format = "latex", booktabs = TRUE, row.names = FALSE, 
      align = 'c', escape = FALSE) 
t3 <- kable({x <- subset(Inv_ByRotation, Client == "Client One", select = Rotation:IPM); 
      names(x) <- sprintf("\\textbf{%s}", names(x)) 
      x}, 
      format = "latex", booktabs = TRUE, row.names = FALSE, 
      align = 'c', escape = FALSE) 
t4 <- kable({x <- subset(Season_InvByLocation, Client == "Client One", select = Location:DE); 
      names(x) <- sprintf("\\textbf{%s}", names(x)) 
      x}, 
      format = "latex", booktabs = TRUE, row.names = FALSE, 
      align = 'c', escape = FALSE) 
t5 <- kable({x <- subset(Season_InvByRole, Client == "Client One", select = Role:DE); 
      names(x) <- sprintf("\\textbf{%s}", names(x)) 
      x}, 
      format = "latex", booktabs = TRUE, row.names = FALSE, 
      align = 'c', digits = 2, escape = FALSE) 

cat(c("\\begin{table}[!htb] 
\\centering 
    \\begin{minipage}{.20\\linewidth} 
     \\centering 
     \\textbf{Bank - By Location} 
     \\centering", 
     t1, 
    "\\end{minipage}% 
    \\centering 
    \\begin{minipage}{.35\\linewidth} 
    \\centering 
     \\textbf{Bank - By Role}", 
     t2, 
    "\\end{minipage}% 
    \\centering 
    \\begin{minipage}{.25\\linewidth} 
     \\centering 
     \\textbf{Bank - By Rotation}", 
     t3, 
    "\\end{minipage} 
\\end{table}" 
)) 
cat(c("\\begin{table}[!htb] 
\\centering 
    \\begin{minipage}{.25\\linewidth} 
     \\centering 
     \\textbf{Bank - By Location }", 
     t4, 
    "\\end{minipage}% 
\\centering 
    \\begin{minipage}{.35\\linewidth} 
     \\centering 
     \\textbf{Bank - By Role}", 
     t5, 
    "\\end{minipage} 
\\end{table}" 
)) 
``` 

Ich möchte nun einfach die Schriftgröße ändern, der Tabellen - es ist einfach zu groß und überlappend in einzelne Seiten.

Ist es möglich, dies zu tun, meine Endausgabe ist ein .pdf und ich verwende kable, um diese Tabellen zu erstellen?

Vielen Dank.

Antwort

7

Vielleicht können Sie das kableExtra Paket ausprobieren. Schriftgröße zu ändern, können Sie versuchen,

kable(x, "latex", booktabs = T) %>% 
    kable_styling(font_size = 7) 

Oder Sie können versuchen, die scale_down Option zu verwenden, die automatisch die Tabelle Seitenbreite mit dem LaTeX graphicx Paket skalieren.

kable(x, "latex", booktabs = T) %>% 
    kable_styling(latex_options = "scale_down") 

Sie können die vollständige Vignette hier lesen: http://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf http://haozhu233.github.io/kableExtra/awesome_table_in_html.html

Verwandte Themen