首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RMarkdown Kable宽度问题

RMarkdown Kable宽度问题
EN

Stack Overflow用户
提问于 2015-03-25 22:17:16
回答 1查看 7.3K关注 0票数 5

我正在尝试创建一个表,使用RMarkdown中的Kable保存一些基本信息,这些信息将在HTML和Word中生成。这是我的代码

代码语言:javascript
运行
复制
---
title: "test"
author: ''
date: "2015/03/24"
output:
 pdf_document:
 keep_tex: yes  
---

```{r kable1, echo=FALSE}

变量<- c("VAR1“、"VAR2”、"VAR3“、"VAR4")

标签<- c(“标签”),“非常类似的”,"LAB3","LAB4")

分类<- c("Type1“、"Type2”、"Type1“、"Type1")

数据<- data.frame(变量、标签、分类)

图书馆(针织品)

kable(数据)

代码语言:javascript
运行
复制
```{r kable2, echo=FALSE}

变量<- c("VAR1“、"VAR2”、"VAR3“、"VAR4")

标签<- c(" Label“、"LabLE”、"LAB3“、"LAB4")

分类<- c("Type1“、"Type2”、"Type1“、"Type1")

数据<- data.frame(变量、标签、分类)

图书馆(针织品)

kable(数据)

代码语言:javascript
运行
复制

HTML输出如下所示。

这就是我想要的。我喜欢表填充html的方式。但是,当我生成PDF时,我会得到以下内容。

正如我们所看到的,PDF存在问题,第一个表在页面上运行,第二个表没有填满整个宽度。不幸的是,当涉及到R、Kable和RMarkdown时,我是一个RMarkdown。是否有一种方法可以在可选项表上设置选项,以便PDF在页面放置和宽度方面看起来与HTML一样好?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-26 04:28:16

LaTeX不会为您打破表格单元格内的长线--或者您应该为此使用一个自定义环境,在编写由Pandoc处理的减价时,这有时会让人非常沮丧。这就是为什么我想出了一个想法,在转化为通过压盘包装标记之前,先打破细胞内的长线。简单的例子:

代码语言:javascript
运行
复制
> pander(data, split.cells = 30, split.table = Inf)

-------------------------------------------------------------------------
 Variable                      Label                      Classification 
---------- --------------------------------------------- ----------------
   VAR1                        LABEL                          Type1      

   VAR2                       A very                          Type2      
           loooooooooooooooooooooooooooooooooooooooooooo                 
              ooooooooooooooooooooooooooooooooooooooo                    
                    nnnnnnngggggggg label yall                           

   VAR3                        LAB3                           Type1      

   VAR4                        LAB4                           Type1      
-------------------------------------------------------------------------

或者,如果您将有几个具有相同问题的表,那么只需一次指定split值:

代码语言:javascript
运行
复制
> panderOptions('table.split.table', Inf)
> pander(data)

-------------------------------------------------------------------------
 Variable                      Label                      Classification 
---------- --------------------------------------------- ----------------
   VAR1                        LABEL                          Type1      

   VAR2                       A very                          Type2      
           loooooooooooooooooooooooooooooooooooooooooooo                 
              ooooooooooooooooooooooooooooooooooooooo                    
                    nnnnnnngggggggg label yall                           

   VAR3                        LAB3                           Type1      

   VAR4                        LAB4                           Type1      
-------------------------------------------------------------------------

简而言之,尽管还有一些其他有用的调整,但还是要查找table.split.tabletable.split.cells 全球备选方案

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29267605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档