2

我正在尝试在表格中创建超链接,并调整列以包装文本并生成 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 中的列宽。

4

1 回答 1

1

kableExtra仅在kable生成原始 HTML/PDF 代码时有效。这就是为什么当您不指定格式时,这column_spec是行不通的。

指定格式后,此问题变成了“如何将链接放入 kable (latex)”问题。事实上,你已经非常接近答案了。关键是您必须设置escapeFinkable以便它可以保持 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")
于 2017-07-31T04:00:52.263 回答