[英]print_md in huxtable changes table formatting
我正在使用huxtable
package 在 bookdown 中呈現的 PDF 中創建表。 表格完全按照我想要的方式格式化,直到我運行print_md
命令,然后邊框從列名下方向上移動到 header 下方。 此外,header 從居中的 position 移動到右對齊。 一探究竟:
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()
更改為set_markdown()
修復了邊框和 alignment 問題。
編輯:我在這個答案中添加了@dash2 的評論。
print_md()
導致問題的原因是因為它將表格轉換為 markdown 格式,然后 R Markdown 從中讀取並生成表格。 所以一些特征(對齊)在翻譯中丟失了。 最好以預期的 output 格式打印表格,無論是 Latex、HTML 還是您使用的任何格式,而不是 Z5900FC1897AFE。
但是仍然需要尊重帶有 markdown 超鏈接的單元格 - print_md()
只是 go 的錯誤方法。 相反,使用set_markdown()
。 這將確保在 huxtable 本身中,具有 markdown 代碼的單元格在打印表格之前被解釋為 markdown。 然后打印的表格將保留預期的格式。
感謝@dash2 創建了如此強大的軟件包!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.