编织者writes in the official knitr chunk option documentation的创造者谢一辉(我强调):
- (...),在理论上,块标签也应加引号,但是为了方便起见,如果不加引号,则会自动将其加引号(例如```{ r,2a}将变为```{r,'2a'})
据我所知,加引号和未加引号的大块标签的结果应始终相同。这是真的吗?还是在某些(边缘)情况下引用或不引用块标签实际上很重要?
特别是,我想知道如果遵循knitr块选项文档中还发现的以下建议,结果是否会有任何差异:
(...)通常,建议使用字母字符,并用
-
分隔单词,并避免使用其他字符(...)
答案 0 :(得分:4)
我唯一能想到的情况是块标签包含逗号,例如a,b
。在这种情况下,必须将其引用为'a,b'
,否则a
将被视为块标签。
大块标签通过内部函数knitr:::quote_label()
自动引用。您可以尝试自己找出其他可能的情况:
> knitr:::quote_label("a")
[1] "'a'"
> knitr:::quote_label("a,b")
[1] "'a',b"
> knitr:::quote_label('"a,b"')
[1] "\"a,b\""
> knitr:::quote_label("a a a,b=1")
[1] "'a a a',b=1"
> knitr:::quote_label("a},b=1")
[1] "'a}',b=1"