首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对齐kableExtra表中的文本

对齐kableExtra表中的文本
EN

Stack Overflow用户
提问于 2022-07-23 16:07:29
回答 1查看 196关注 0票数 0

我在R标记制作一个Latex,但在制作包含kableExtra包文本的表格时有问题。

当我在Kable()中使用'align =‘参数时,它只对齐标题,而不对齐全文。返回的表如下所示,主体的第一行左对齐,下一行中间对齐,最后一行右对齐!

请帮我把所有的中心对准!

产生的表

代码:

代码语言:javascript
复制
library(knitr)
library(kableExtra)

df <- data.frame(c("Title","Title", "Title"), 
                linebreak(c("The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text")),
                linebreak(c("The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text")),
                linebreak(c("The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text")))

kable(df, align="c", col.names = c("","Title","Title", "Title"), escape = FALSE) %>%
  kable_styling(latex_options="HOLD_position")

编辑:

这是yaml的复制代码,

代码语言:javascript
复制
---
title: 
author: 
date:
abstract:
output:
  pdf_document:
    toc: yes
    toc_depth: 2
  editor_options: 
  markdown: 
    wrap: 72
---
代码语言:javascript
复制
knitr::opts_chunk$set(echo = TRUE)
代码语言:javascript
复制
library(knitr)
library(kableExtra)

df <- data.frame(c("Title","Title", "Title"), 
                linebreak(c("The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text")),
                linebreak(c("The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text")),
                linebreak(c("The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text")))

kable(df, align="c", col.names = c("","Title","Title", "Title"), escape = FALSE) %>%
  kable_styling(latex_options="HOLD_position")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-23 17:36:44

我认为问题在于您的df规范。函数linebreak有一个在创建df时正在设置的align参数。创建df时需要指定对齐方式

代码语言:javascript
复制
df <- data.frame(c("Title","Title", "Title"), 
                linebreak(c("The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text"), align = 'c'),
                linebreak(c("The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text"), align = 'c'),
                linebreak(c("The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text", "The Main Text\n Main Text\n Text"), align = 'c'))

此外,在使用文档表时,建议在使用kableExtra时添加booktabs = Tescape = F。例如:

代码语言:javascript
复制
df %>% kbl(booktabs = T, escape = F,
  col.names = c("","Title","Title", "Title"), align = 'c')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73092256

复制
相关文章

相似问题

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