Необходимость extra_dependencies
в качестве символьного вектора - это вещь R. То, что у вас есть выше, это не R, это YAML, что отличается. Если вы увидите, что R получает при анализе этого заголовка, вы увидите
yaml::yaml.load(string='
title: "Chapter 1"
author:
output:
pdf_document:
extra_dependencies:
- geometry
- multicol
- multirow
html_document:
df_print: paged')
# $title
# [1] "Chapter 1"
# $author
# NULL
# $output
# $output$pdf_document
# $output$pdf_document$extra_dependencies
# [1] "geometry" "multicol" "multirow"
# $output$html_document
# $output$html_document$df_print
# [1] "paged"
, где вы можете видеть, что встроенный $output$pdf_document$extra_dependencies
действительно является character
вектором.
Из текущего YAML spe c, раздел 3.1.1 определяет
... последовательность соответствует массиву Perl и Python список ...
(который, по-моему, аналогичен вектору R), а в разделе 2.1 , пример 2.1 («Последовательность скаляров») демонстрирует последовательность как
- Mark McGwire
- Sammy Sosa
- Ken Griffey
, что означает, что последовательность в yaml (которая является списком в python и вектором в R) кодируется как маркированный список (с дополнительным отступом) с использованием дефисов для каждый элемент.
Напомним, что для R требуется вектор character
для функции pdf_document
. Заголовок в документах R-markdown - это не R, это YAML, поэтому вопрос состоит в том, "как закодировать опции в заголовке yaml, чтобы R в конечном итоге воспринимал его как вектор строк" . Вот как в виде списка с отступом используются дефисы для идентификации каждого элемента.