papaja:更改代码列表和 R 输出的字体大小和字体

问题描述

根据对 this question 的回答,我能够获得 2 列的 papaja,其中包含列表包装(而不是列宽溢出)。但是列表包关闭了有助于代码列表和 R 输出相对于正文突出的各种功能

一个简单的解决方案是,如果我可以为代码和 R 输出选择性地全局更改字体和/或大小。有没有办法在 papaja 做到这一点?我无法从 papaja 或 Rmarkdown 文档中弄清楚这一点。谢谢!

解决方法

当您在 papaja(或 bookdown)文档中使用列表包时,从技术上讲,所有代码都被封装到一个 lstlisting LaTeX 中具有自定义代码外观功能的环境。因此,如果不使用 listings 包,您不会看到语法突出显示。清单包的文档,其中包含如何设置代码样式 can be found here 的说明。

要利用这一点,您可以像这样扩展 papaja 文档的 YAML 标头:

documentclass     : "apa6"
classoption       : "jou"
output            :
  papaja::apa6_pdf:
    pandoc_args: --listings
header-includes:
  - \lstset{breaklines=true,language=R,basicstyle=\tiny\ttfamily,frame=trB,commentstyle=\color{darkgray}\textit}

在这里,我首先指定代码的语言,并使用微小的等宽字体。使用 frame,我在代码块周围添加一个框架,并使用 commentstyle 将注释设置为斜体和灰色。