R Bookdown _bookdown.yml

2024-01-10

Bookdown 有很多配置选项,我发现很难理解如何知道一个选项是否存在,以及这些选项背后的逻辑。

具体来说,我发现很难描述什么kind选项进入_bookdown.yml鉴于至少还有其他两个地方可以说明选项:

  • In _output.yml,
  • 函数调用的参数,例如bookdown::render_book.

在我看来,之间不存在任何形式的一对一映射_bookdown.yml以及函数的参数,例如bookdown::render_book, so _bookdown.yml似乎不仅仅是记录函数调用选项的不同方式。

我们可以在源代码中看到`_bookdown.yml'正在控制一些配置选项 https://github.com/rstudio/bookdown/blob/7c09c9b22605686291e583ccad671ff7d84a1b35/R/html.R#L539但不是全部。

所以 - 重新表述这个问题 - 为什么是_bookdown.yml一个单独的配置文件以及它应包含的内容的定义在哪里/是什么?

举个有代表性的例子,有一个chapter_name可以使用的选项_bookdown.yml。我有以下问题:

  1. 鉴于文档中没有引用它,我们如何知道这是一个选项here https://cran.r-project.org/web/packages/bookdown/bookdown.pdf甚至在例子中here https://bookdown.org/yihui/bookdown/configuration.html.
  2. 一旦我们知道它存在,我如何知道它有什么影响?所有这些选项是否都会传递给其他包(例如 pandoc、rmarkdown)?我唯一能找到参考的地方chapter_name在 CRAN 源代码中bookdown https://github.com/rstudio/bookdown/blob/7c09c9b22605686291e583ccad671ff7d84a1b35/R/html.R#L539,即使在那里我也无法真正弄清楚它是如何使用的。

注意,讨论_bookdown.yml作者是here https://bookdown.org/yihui/bookdown/configuration.html,但我还是不太明白。


以下是对代码库调查的一些结果:

我们可以看到 'config' 变量bookdown::render_book填充自_bookdown.yml here https://github.com/rstudio/bookdown/blob/1254a81864c7d0e1d165eda58d9fb08fe3a9bc71/R/render.R#L63,通过一个名为load_config可以在以下位置找到:utils.R https://github.com/rstudio/bookdown/blob/master/R/utils.R#L79.

load_config似乎做了两件事 - 它存储的内容config在名为的主选项列表中opts, 其中config只是一个元素,然后返回config元素。

注意opts最初定义为here https://github.com/rstudio/bookdown/blob/master/R/utils.R#L247。它是从一个创建的knitr:::new_defaults可以找到here https://github.com/yihui/knitr/blob/f02600d24a9628c8a376df41078756dc9e63bfc2/R/defaults.R#L3.

The config然后变量出现在代码库的多个部分中。

The 以下代码 https://github.com/rstudio/bookdown/blob/1254a81864c7d0e1d165eda58d9fb08fe3a9bc71/R/render.R#L88具有代表性:

  if (is.na(new_session)) {
    new_session = FALSE
    if (is.logical(config[['new_session']])) new_session = config[['new_session']]
  }

所以我们可以看到如果new_session被直接传递到bookdown::render_book作为函数参数,它被使用。否则会尝试从_bookdown.yml file.

The config作为一个参数被广泛传递bookdown::render_book。例如,我们可以看到它被用于source_files https://github.com/rstudio/bookdown/blob/master/R/utils.R#L93函数于utils.R.

我们得出什么结论?_bookdown.yml允许您填充全局选项列表bookdown包裹。每当你看到config(这是一个列表)正在使用代码库,您可以通过填充来设置此列表的元素_bookdown.yml

我还没有找到可以在中指定的选项的完整列表_bookdown.yml但轻松找出可能性的一种方法是.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R Bookdown _bookdown.yml 的相关文章

随机推荐

  • 如何访问成员变量sqlite回调

    我需要从 sqlite 回调函数访问类中的变量 它不能是静态的 因为我需要从其他函数访问这个变量 这是我当前的代码 class fromdb private string paramdb char errmsg string param s
  • Chrome 正在由自动化测试软件控制

    我正在 Chrome 中使用 Serenity BDD Selenium 运行自动化测试 我必须下载新的 ChromeDriver 因为我的测试无法运行 gt 测试将打开 ChromeDriver 但无法 以用户身份浏览 当我用谷歌搜索这个
  • 为什么声明转换不会减少 cookie 大小?

    我正在使用 Azure AD net core 2 1 并已注册我的应用程序并将其配置为返回 AD 组作为声明 我还使用声明转换来删除除我的应用程序使用的三个组之外的所有组声明 这成功地消除了 100 多个组 我这样做是希望能够减少后续请求
  • SQL Server 2008 - 连接字符串

    我需要获取每个行项目的查询结果 并构建一个以分号分隔的组成该项目的材料列表 架构构成 表格 LineItems 唯一项目列表 LineItems Materials 多对多 材料 独特材料清单 行项目 ID 行项目 1 1A 1 LineI
  • 覆盖 ComboBox 中的默认 TextBlock 样式

    我在 App xaml 中定义了默认的 TextBlock 样式 它似乎也会影响 ComboBox 项目的文本颜色 现在 如何显式设置主窗口中定义的 ComboBox 的文本颜色 我想保留默认样式 但将组合框文本颜色设置为蓝色而不是红色 A
  • Unity3d android 2d 精灵放置

    Please take a look at this picture It s a final look of the game exported from photoshop I marked the ui sprites with re
  • 将鼠标悬停在 jtable 单元格上时显示图像

    我有一个使用 DefaultTableModel 创建的 JTable 我想在鼠标悬停在该 JTable 的特定单元格上时显示图像 并且我需要每个单元格的图像都不同 提前致谢 您可以覆盖prepareRenderer of the JTab
  • iOS - 运行 Swift 单元测试时找不到“MyProject-Swift.h”文件

    我正在尝试为我的项目设置单元测试 它是一个现有的 Objective C 应用程序 我最近向其中添加了一个 Swift 类 我已经设置了 MyProject Swift h 和 Swift 桥接文件 MyProject 和 MyProjec
  • Wordpress 和 Nginx 与 Docker:未加载静态文件

    我正在使用 Docker 来为我的简单 WordPress 网站提供服务 一个 nginx 容器和一个 wordpress 容器 简单设置 upstream wordpress english server wordpress en 80
  • 如何计算MPR的dicom切片之间的空间?

    由于显示MPR view基于 Dicom 我用一系列 dicom 文件制作了一个 3D 数组 我展示它来自Coronal and Sagittal sides My 3D array includes z count of dicoms c
  • Google Cloud SQL PG11:无法调整共享内存段的大小

    我最近在 Google Cloud SQL 上将 Postgres 9 6 实例升级到 11 1 从那时起 我开始注意到多个查询中存在大量以下错误 org postgresql util PSQLException 错误 无法调整共享大小
  • 如何通过 JavaScript 调用 PHP 函数?

    我正在尝试将 PHP 函数从外部 PHP 文件调用到 JavaScript 脚本中 我的代码不同且庞大 因此我在这里编写示例代码 这是我的 PHP 代码 这是我的 JavaScript 代码
  • 如何在 Text Widget Flutter 中使用换行符

    如何在Flutter中显示多行文本 Text Text1 n Text2 n Text3 maxLines 20 style TextStyle fontSize 16 0 fontWeight FontWeight bold color
  • FPDF 错误:无法包含字体规格文件

    我有一个由其他人完成的应用程序 现在我被要求调查一个问题 生成 pdf 报告时会抛出错误 此应用程序使用 FPDF 生成 PDF FPDF error Could not include font metric file 早些时候它抛出了以
  • 如何禁止在 Windows 上的 qmake 中添加“d”后缀来调试库名称?

    我在 QtCreator 中为 QML C 插件创建了项目 调试版本的名称附加了 d 后缀 例如plugind dll代替plugin dll 如何配置项目不添加这个后缀 Qt 版本 4 8 1 Windows 7 您可以将此行写入 pro
  • 如何使用 C# 中的相对路径实例化新的 ChromeDriver?

    它使用绝对路径 例如 WebDriver new ChromeDriver C Users
  • Phonegap Android:未知的铬错误:-6

    我正在创建一个 Phonegap Android 应用程序 但在向其中添加插件时遇到了问题 Cordova版本是2 2 0 我没有使用 jQM 或 Sencha Touch 我在 Android 4 0 上测试了该应用程序 我参考的插件是A
  • python中元组的多重嵌套字典

    我有这个元组列表 list of tuples 0 1 1 1 1 1 1 2 1 1 3 1 1 4 0 3 3 3 1 3 3 2 3 3 3 3 3 4 3 3 5 0 4 4 4 1 4 4 2 4 4 3 4 4 4 4 4 5
  • GSON 泛型序列化[重复]

    这个问题在这里已经有答案了 可能的重复 使用 gson 反序列化泛型 https stackoverflow com questions 4364392 deserializing generics with gson 所以我需要做 Typ
  • R Bookdown _bookdown.yml

    Bookdown 有很多配置选项 我发现很难理解如何知道一个选项是否存在 以及这些选项背后的逻辑 具体来说 我发现很难描述什么kind选项进入 bookdown yml鉴于至少还有其他两个地方可以说明选项 In output yml 函数调