在表中创建超链接并调整列文本换行Rmarkdown(Create hyperlink in tabl

2019-09-26 06:37发布

我想创建一个表中的超链接,也可以调整文本换行和生成PDF列。

防爆表:

variable<-"testing a long column to wrap testing a long column to wrap "
col1<-"\href{https://www.google.co.uk/}{click here}"
col2<-"[click here](https://www.google.co.uk/)"
col3<-"[click here](https://www.google.co.uk/)"
col4<-"[click here](https://www.google.co.uk/)"
col5<-"[click here](https://www.google.co.uk/)"
test<-data.frame(variable,col1,col2,col3,col4,col5)

当我尝试以下它正确地给出了超链接,但不调整列宽

library(kableExtra)
knitr::kable(test,row.names=FALSE) %>%
  column_spec(1, width = "5cm")

但是,当我尝试包括format ='latex'然后超链接不工作,但列的宽度和文本换行

library(kableExtra)
knitr::kable(test,format ='latex' ,row.names=FALSE) %>%
  column_spec(1, width = "5cm")

请帮我添加超链接,并在Rmarkdown调整列宽。

Answer 1:

kableExtra只有当工作kable生成原始的HTML / PDF的代码。 这就是为什么当你不指定格式,即column_spec不工作。

在您指定的格式,这个问题变成了“如何将在kable(乳胶)链接”的问题。 事实上,你已经非常接近了答案。 问题的关键是,你必须设置escapeFkable因此它可以保持LaTeX的代码是。 你也需要加倍逃避COL1反斜杠,因为它是一个“R东西”。

variable<-"testing a long column to wrap testing a long column to wrap "
col1<-"\\href{https://www.google.co.uk/}{click here}"
col2<-"\\href{https://www.google.co.uk/}{click here}"
col3<-"\\href{https://www.google.co.uk/}{click here}"
col4<-"\\href{https://www.google.co.uk/}{click here}"
col5<-"\\href{https://www.google.co.uk/}{click here}"
test<-data.frame(variable,col1,col2,col3,col4,col5)

knitr::kable(test,format ='latex',row.names=FALSE, escape = F) %>%
  column_spec(1, width = "5cm")


文章来源: Create hyperlink in table and adjust column to wrap text Rmarkdown