【发布时间】:2021-04-14 17:37:54
【问题描述】:
我正在使用 huxtable 包在 bookdown 中呈现的 PDF 中创建表格。表格完全按照我想要的方式格式化,直到我运行print_md 命令,然后边框从列名下方向上移动到标题下方。此外,标题从居中位置移动到右对齐。看看吧:
df <- data.frame(
"colname1" = c("something indicator"),
"colname2" = "[Something](http://www.overleaf.com)",
"colname3" = "[Something again](http://www.overleaf.com)")
df <- df %>%
as_hux() %>%
theme_basic() %>%
set_tb_padding(2)
df <- df %>%
set_contents(1, 2:3, c("colname2", "colname3")) %>%
insert_row("", "Header", "Header", after = 0) %>%
merge_cells(1, 2:3) %>%
set_align(1, everywhere, "center") %>%
set_tb_padding(1, everywhere, 0) %>%
set_bold(1, everywhere)
df
表格格式正确。但。您会注意到 URL 的格式不正确。它应该只显示括号内的部分,单击时会将您带到括号中的站点。
这可以通过以下代码解决:
df %>% print_md()
现在 URL 看起来应该是这样,但是边框错误地向上移动了一行,并且“标题”现在是右对齐而不是居中对齐。我该如何阻止这种情况发生?
【问题讨论】:
-
为什么还要使用
print_md()来打印PDF? -
huxtable 的 documentation 表示您需要 markdown 才能在表中获得超链接支持。您可以在问题的演示中看到,当您在不使用降价表格式的情况下渲染 PDF 时,超链接无法正确显示,因为表格出来的格式没有被读取为降价(超链接的
[text](url)语法是降价,我相信)。我认为演示很清楚,但请告诉我其他情况。 -
我写了文档……我想我应该多做些工作!在单元格中使用 markdown 与将整个表格打印为 markdown 完全分开。当您在单元格中使用 markdown 时,huxtable 会解释 markdown 本身(并打印出 TeX、HTML 或其他内容)。因此,使用
set_markdown将某些单元格解释为降价。然后像往常一样打印 huxtable,例如通过评估它。 -
哈!好吧,现在我很尴尬。这种可能性......在我看来,文档是可靠的!也许我应该使用“暗示”这个词......我知道那些降价单元需要以一种或另一种方式被识别为降价,但我现在看到我的困惑在于“打印”之间的区别(如打印降价代码) 与“渲染”(如解释降价代码,但打印其他格式)。你解释的方式很清楚,谢谢!
标签: r latex r-markdown bookdown huxtable