如何在knit生成PDF时将R Markdown代码块内的文本设置为斜体
R Markdown代码块文本斜体(PDF输出)操作方案
根据需求分三种常用场景,对应操作方法如下:
场景1:单个代码块的全部内容斜体
直接在代码块的chunk参数中添加class.source = "itshape"即可,示例写法:```{r class.source="itshape"} "I want this text to be in italic when knitting" ```knit后整个代码块的源代码会全部以斜体显示。
场景2:所有代码块的字符串自动斜体
如果你只需要代码里的字符串内容(和你给出的示例一致)斜体,直接在文档头部的YAML配置里添加listings相关设置即可:output: pdf_document: listings: true header-includes: - \lstset{stringstyle=\itshape}配置后所有代码块里的引号包裹的字符串都会自动渲染为斜体,不需要额外修改每个代码块的参数。
场景3:代码块内指定的部分文本斜体
如果只需要特定内容斜体,可使用cat()函数配合LaTeX斜体命令,同时设置chunk参数results='asis'让LaTeX命令被正常解析,示例:```{r results='asis', echo=FALSE} # 普通内容 + 斜体内容混合输出 cat("普通文本,\\textit{这部分是斜体文本},剩余普通文本") ```注意R代码中LaTeX命令的反斜杠需要双重转义,写为
\\才会被正常识别。
注意:如果编译时用的是XeLaTeX或LuaLaTeX,需确认文档选用的字体支持斜体样式,避免出现斜体不生效的问题。
内容的提问来源于stack exchange,提问作者Little L
相关产品推荐
相关产品推荐

