Rmarkdown&;{knitr}:代码块在列表中突出显示?

Rmarkdown&;{knitr}:代码块在列表中突出显示?,r,markdown,knitr,r-markdown,R,Markdown,Knitr,R Markdown,我有一个两级有序列表,其输出与相同我的输出很好,看起来应该是这样的。我的问题是,块的正常“突出显示”在8个空格处消失,RMD源不再“识别”这样的块。块之前和之后的空行也缩进(我发现我必须这样做才能得到期望的输出)。 为了说明这一点,我将分享下图。缺少突出显示,其他块中的相同光标位置在第行旁边提供了一个小按钮:字符位于左下角,而不是“顶层”。如果我将块缩进(从8个空格到4个空格),代码将不再与输出中的列表对齐 有什么办法可以补救吗?没有任何运气在网上搜索或浏览文档。(如果感兴趣,示例来自ISLR

我有一个两级有序列表,其输出与相同我的输出很好,看起来应该是这样的。我的问题是,块的正常“突出显示”在8个空格处消失,RMD源不再“识别”这样的块。块之前和之后的空行也缩进(我发现我必须这样做才能得到期望的输出)。 为了说明这一点,我将分享下图。缺少突出显示,其他块中的相同光标位置在第行旁边提供了一个小按钮:字符位于左下角,而不是“顶层”。如果我将块缩进(从8个空格到4个空格),代码将不再与输出中的列表对齐


有什么办法可以补救吗?没有任何运气在网上搜索或浏览文档。(如果感兴趣,示例来自ISLR,第2.4节,练习8。)

我发现,如果我将代码缩进保持在对应文本的另一个缩进级别,则所有内容都会很好地呈现:

1. One level of indention
    * Two levels of indention
        * Three levels of indention
            * Four levels of indention
                ```{r,eval=FALSE}
                Some("R code")
                ```

我发现,如果我将代码的缩进保持在对应文本的一个缩进级别,那么所有内容都会很好地呈现:

1. One level of indention
    * Two levels of indention
        * Three levels of indention
            * Four levels of indention
                ```{r,eval=FALSE}
                Some("R code")
                ```

好的,开始工作了。由于某种原因,在R Studio中两次点击tab(四个空格)会导致上述问题。我怀疑这与R工作室有关,而不是R Markdown或{knitr}。该解决方案由@Yihui提供,并依赖于使用
indent
参数。这将保持块的突出显示和识别,并使输出中的所有内容保持一致


我从未想过使用
indent
参数,因为它没有在当前R Markdown参考指南()中的{knitr}块选项中列出,并且只在{knitr}块选项()中的代码描述部分末尾被动地提到它。

好的,开始工作了。由于某种原因,在R Studio中两次点击tab(四个空格)会导致上述问题。我怀疑这与R工作室有关,而不是R Markdown或{knitr}。该解决方案由@Yihui提供,并依赖于使用
indent
参数。这将保持块的突出显示和识别,并使输出中的所有内容保持一致


我从未想过使用
indent
参数,因为它没有在当前R Markdown参考指南()中的{knitr}块选项中列出,只是被动地在{knitr}块选项()中的代码描述部分的末尾提到。

我怀疑问题在于backtics(“```”)R代码并不是在它们出现的行的开头,而是在尝试,但没有用。将八个空格倒回到四会导致列表的对齐关闭(即,块缩进一次,而列表项缩进两次)。在前面的块中(缩进四个空格),这不是问题。只有八个空格才成为问题。可能有用。谢谢分享-我之前看到过这个链接。问题是,输出正是我想要的。我的问题是RMD(或{knitr}?)没有突出显示块,而且,在八个空格处没有将其“识别”为块(在RMD中)。四个空格可以,八个空格不行。只是想找出补救办法。。。这是我需要在某个地方调整的选项吗?我怀疑问题在于,标记R代码的backtics(“``”)并不是在它们出现的行的开头尝试过的,但没有效果。将八个空格倒回到四会导致列表的对齐关闭(即,块缩进一次,而列表项缩进两次)。在前面的块中(缩进四个空格),这不是问题。只有八个空格才成为问题。可能有用。谢谢分享-我之前看到过这个链接。问题是,输出正是我想要的。我的问题是RMD(或{knitr}?)没有突出显示块,而且,在八个空格处没有将其“识别”为块(在RMD中)。四个空格可以,八个空格不行。只是想找出补救办法。。。这是一个我需要在某个地方调整的选项吗?谢谢大家的帮助和想法。我更新了原始帖子中的图像,希望它能更好地反映我的问题。为此,您需要使用嵌套缩进,以便标记编译器可以检测当前缩进级别。在您的示例中,您使用的
(a)
(b)
i.
ii.
不是降价列表标识符。对于延迟,我深表歉意-我下载了最新版本的R Studio,并确保所有软件包都是最新的。相信我对嵌套的标记列表使用了正确的语法,问题仍然存在。缩进(在四个空格处)两次会导致与OP中相同的问题。即使第二级使用星号,也会出现同样的问题。有什么想法吗?快速检查:上面的例子有效吗?如果没有,您可以发布一个副本吗?将上述示例粘贴到R Studio会产生相同的输出,但突出显示问题仍然存在。我怀疑这是R工作室的问题,而不是R Markdown或{knitr}中的问题。虽然我无法直接解决手头的问题,但我确实使用了
indent
chunk选项解决了问题。感谢您在这方面提供的所有帮助和想法。我更新了原始帖子中的图像,希望它能更好地反映我的问题。为此,您需要使用嵌套缩进,以便标记编译器可以检测当前缩进级别。在您的示例中,您使用的
(a)
(b)
i.
ii.
不是降价列表标识符。对于延迟,我深表歉意-我下载了最新版本的R Studio,并确保所有软件包都是最新的。相信我对嵌套的标记列表使用了正确的语法,问题仍然存在。缩进(在四个空格处)两次会导致相同的i