2017-01-31 6 views
0

Это действительно я, очень запутанный и неспособный найти что-либо в плане документации по этому поводу.R-Markdown: изменить вывод таблицы по умолчанию для PDF

Для Rmd используется как Rstudio.

Так сказать эту таблицу:

Table Header | Second Header 
------------- | ------------- 
Table Cell | Cell 2 
Cell 3  | Cell 4 

Когда он компилируется на латекс (или PDF) выход это

enter image description here

Но то, что я хочу, чтобы это было в большей степени это:

enter image description here

или как это

enter image description here

т.е. включают в себя вертикальную линию или горизонтальную линию.

Теперь, когда я скомпилирую его в html, я могу исправить некоторые стили, включив мой собственный файл css. Есть ли что-то вроде того, что я могу сделать с выходом LaTEX?

ответ

2

Я не знаю, как это сделать, используя только разметку, и это, вероятно, связано с созданием своего рода шаблона. Я никогда не преследовал такого решения, поэтому я не могу сказать, действительно ли это или невозможно. Я преследовал другие решения, которые будут генерировать необходимый HTML код LaTeX для меня. Код ниже - это рабочий RMD, который будет вязать как PDF, так и HTML-файл.

--- 
title: "Untitled" 
output: 
    pdf_document: null 
    html_document: null 
header-includes: 
- \usepackage{amssymb} 
- \usepackage{arydshln} 
- \usepackage{caption} 
- \usepackage{graphicx} 
- \usepackage{hhline} 
- \usepackage{longtable} 
- \usepackage{multirow} 
- \usepackage[dvipsnames,table]{xcolor} 
--- 

```{r} 
library(pixiedust) 
options(pixie_float = FALSE) 

DF <- data.frame(table_header = c("Table Cell", "Cell 3"), 
       second_header = c("Cell 2", "Cell 4"), 
       stringsAsFactors = FALSE) 

Base <- 
    dust(DF) %>% 
    medley_bw() %>% mimics the default bordering of standard markdown table 
    sprinkle_colnames("Table Header", "Second Header") %>% 
    sprinkle_table(pad = 3) # padding for HTML tables 

# print the table with vertical line between columns 
Base %>% 
    sprinkle_table(cols = 1, 
       border = "right") 

# print the table with horizontal line between rows 
Base %>% 
    sprinkle(rows = 1, 
      border = "bottom") 
``` 

Результирующие таблицы имеют следующий вид

Table with vertical column divider

Table with horizontal row divider

+0

Это здорово! Благодаря! – asosnovsky

0

Другая возможность:

library(huxtable) 
ht <- hux(c('Table Header', 'Table Cell', 'Cell 3'), c('Second Header', 'Cell 2' , 'Cell 4')) 
top_border(ht) <- 1 
bold(ht)[1,] <- TRUE 
right_border(ht)[,1] <- TRUE