当前位置: 首页 > 知识库问答 >
问题:

KableExtra超文本标记语言样式在Rmarkdown和kable_save()

叶文博
2023-03-14

这困扰我太久了,我很感激你的帮助。我一直在为kable投入时间,但它并没有像我希望的那样对我产生效果。我希望创建多组行,如图所示

执行此操作的代码如下:

collapse_rows_dt <- expand.grid( District = sprintf('District %s', c('1', '2')), City = sprintf('City %s', c('1', '2')), State = sprintf('State %s', c('a', 'b')), Country = sprintf('Country with a long name %s', c('A', 'B'))
)
collapse_rows_dt <- collapse_rows_dt[c("Country", "State", "City", "District")] 
collapse_rows_dt$C1 = rnorm(nrow(collapse_rows_dt)) 
collapse_rows_dt$C2 = rnorm(nrow(collapse_rows_dt))

kbl(collapse_rows_dt, booktabs = T, align = "c", linesep = '') %>%
collapse_rows(1:3, row_group_label_position = 'stack')

这显然不够好。如果我织成pdf,我可以得到正确的输出(第一张图片),但仅此而已。如果我尝试执行save_kable(),结果显示为HTML格式,如第二幅图像所示。每次都编织成pdf格式是如此不切实际,如果我不能解决这个问题,我就不能再使用kable了。这对我来说很重要。

如果我设置format='latex ',那么内联中不会显示任何内容,当我尝试kable_save()时,我会得到以下错误消息:

这是 Xtex 版本 3.(tex live 2020/w32Tex) 预加载格式 = xlatex) 受限制 \write18 启用。进入扩展模式

接着是一个提示我的弹出消息(R崩溃)

R会话中止,R遇到致命错误

所有不需要乳胶的 HTML 表都会以适当的方式内联显示,并将保存为实际图像。

相关的最新包:

-     library(webshot) 
      library(tinytex) (also tried without)
      library(magick) 
      library(plyr) 
      library(tidyverse) 
      library(dplyr)
      library(knitr) 
      library(skimr) 
      library(kableExtra)

另外:

  • Ghostscript 9.52是当前的并设置为环境
  • Miktext 2.9

尝试过:

>

  • 通过install.packages更新图像Magick(magick

    • 编辑策略。ImageMagick中的xls以绕过安全功能ImageMagick安全策略“PDF”阻止转换

    手动安装以下乳胶包

    • 库(tinytex)tlmgr_install(pkgs='独立')tlmgr_install(pkgs='预览')tlmgr_install(pkgs='多语言')tlmgr_install(pkgs='xltxtra')tlmgr_install(pkgs='realscript')

    将混合曲面设置为环境路径

  • 共有1个答案

    郤坚诚
    2023-03-14

    如果要编织并包含通过 LaTeX 和 PDF 生成的图像,则可以使用 kableExtra::as_image

    ---
    output: html_document
    ---
    
    ```{r}
    library(kableExtra)
    library(magrittr)
    
    collapse_rows_dt <- expand.grid( District = sprintf('District %s', c('1', '2')), City = sprintf('City %s', c('1', '2')), State = sprintf('State %s', c('a', 'b')), Country = sprintf('Country with a long name %s', c('A', 'B'))
    )
    
    collapse_rows_dt <- collapse_rows_dt[c("Country", "State", "City", "District")] 
    collapse_rows_dt$C1 = rnorm(nrow(collapse_rows_dt)) 
    collapse_rows_dt$C2 = rnorm(nrow(collapse_rows_dt))
    
    kbl(collapse_rows_dt, "latex", align="c", linesep="", booktabs = T) %>%
      collapse_rows(1:3, row_group_label_position = 'stack') %>%
      kable_styling(latex_options = c("striped", "scale_down")) %>%
      as_image()
    ```
    
     类似资料:
    • 我到处找,到处找。我已经看到了我将要发布的PHP代码中的许多问题,但没有看到任何与我所看到的特定问题相关的问题。 这是我的问题-两行($values/$required),其中我有“name”,“email”,“subject”,“message” 我想在上面加上“电话”。(即“姓名”、“电子邮件”、“电话”、“主题”、“信息”) 如果我把它添加到两行中的一行(不管是哪一行),我仍然可以提交表格,

    • 我试图在HTML的pre标签中包装文本,但它不起作用。我使用下面的CSS作为我的标签。 我从如何在pre标记中换行文本? 我已添加

    • 我正在工作的工具提示和从后端我将获得数据与html标记。我需要在工具提示中显示相应的标签中的相应数据。例如,我将从后端获得Hello用户单击此处。我必须显示为你好用户在h1格式,点击这里应该是一个锚。我尝试了这两个功能,并取代其不工作。 具有以下功能: 替换: https://codesandbox.io/s/serene-fast-u8fie?file=/App.svelte

    • 我有一个聊天应用程序,通过API接收HTML作为JSON。每个聊天信息都在文本视图中显示HTML,但我需要显示表格和标记。我尝试了Html。fromHtml()函数和图像的ImageGetter,但是我找不到显示表标记的方法。 我不能使用WebView,因为这意味着为每条消息显示一个WebView(这不是很有效)。 提前感谢。

    • 我在jQuery中看到了这一点——它做了什么?

    • 我想开发一个包含注册和登录按钮的登录HTML页面。在运行时的HTML页面中,我可以选择任何按钮(登录/注册)。点击注册页面时,页面应重定向至注册JSP程序,点击登录页面时,页面应重定向至登录Servlet程序。现在的问题是,我必须在html页面中提到表单的实际方法?如何解决这个问题?