如何解决一次更改多个文本样式
所以我导入了一个 csv 文件并制作了一个名为 stat 的数据框(为了简洁起见,我省略了这部分代码)。使用这个数据框,我试图制作一个每行都有自己页面的 PDF。我希望数据框的第一列(下面代码中的 stat[1])是每个页面的“标题”,因为它是玩家的名字。目前我可以将玩家的名字加粗或更改其颜色,但我似乎无法弄清楚如何一次对一个变量进行多次更改。
最终我想增加字体大小,使文本居中并加粗。
我读到的所有内容都在讨论如何在块之外或在块期间而不是在函数/执行循环期间执行此操作。我对 R 比较陌生,所以所有这些都很令人困惑。
---
output: pdf_document
---
library(tidyverse)
library(knitr)
library(kableExtra)
library(ggrepel)
library(ggimage)
library(ggthemes)
fun <- function(stat){
cat("\\textbf{",stat[1],"}\n")
cat("\n")
cat("Club: ",stat[2],"\n")
cat("\n")
cat("Age: ",stat[3],"\n")
cat("\n")
cat("Position(s) (Category): ",stat[4]," (",stat[5],") \n",sep="")
cat("\n")
cat("Minutes Played (Full Game Equivalent): ",stat[6],stat[7],sep="")
cat("\n")
cat("Goals (per 90): ",stat[8],stat[9],sep="")
cat("\n")
cat("Assists (per 90): ",stat[10],stat[11],sep="")
cat("\n")
print(kable(stat[12:28],col.names=NULL) %>% kable_styling(full_width = F,position = "left"))
cat("\n\\newpage\n")
}
apply(stat,1,fun)
所以 cat("\textbf{","}\n") 以粗体返回玩家的名字,我也可以做 cat("\textcolor{blue}{","}\n") 以蓝色返回玩家的名字,但如果我真的像 cat("\textcolor{blue}\textbf{","}\n") 这样的代码将无法编译。
我不一定希望文本为蓝色,但我不知道如何以这种方式更改字体大小或使文本居中,因此我尝试将其设为蓝色和粗体,但失败了。
编辑:我的另一个想法是让玩家的名字成为实际的标题并自定义/编辑标题的外观。
即使用 cat("##","\n") 然后在代码中的其他地方定义这个标题的样子。这可能吗?
解决方法
我已经解决了。最后一行代码是:
cat("\\begin{center}","\\fontsize{20pt}{2pt}\\selectfont\\textbf{",stat[1],"}\n","\\end{center}")
这个网站对我帮助很大,以防其他人遇到和我类似的问题:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。