当 knitr 被停用时,如何从包含 knitr 块的 lyx 文件生成 pdf?

How to generate pdf from lyx files containing knitr chunks when knitr is deactivated ?

我想要一位合著者来编辑我创建的 lyx 文件。他没有安装 knitr,他打算只编辑文档中不存在 knitr 生成内容的文本和方程式部分。不过,我仍然希望他能够从 lyx 生成 pdf 文件。在 Documents/settings/modules 下,我可以删除 Rnw (knitr) 模块。但是随后出现错误。

我在 knitr_iris.lyx 下发布了一个示例 lyx 文件。 当knitr模块被激活时,Pdf生成工作正常,但是当你在Documents/settings/modules下取消选择knitr模块时,弹出如下错误:

! You can't use `macro parameter character #' in horizontal mode.

! Missing $ inserted.

这些是由于在 R 中使用了 $ 和 #。如何告诉 Lyx knitr 块不是乳胶代码而是它应该忽略的其他东西?

你可以通过使用 LyX 分支来做你想做的事。首先,突出显示 ERT 或 knitr 块(在 LyX 中有两种插入 knitr 的方法)并转到插入 > 分支 > 插入新分支。您可以随意调用分支,例如 "knitrChunks"。现在突出显示 ERT 或 knitr 块的其余部分,然后转到 Insert > Branch > knitrChunks(这个分支现在已经存在,你已经创建了它)。当您在分支前面看到 "X" 时,表示它已停用。因此,当您的合著者编辑并想要编译时,he/she 只需右键单击分支插图并转到 "deactivate branch" 并删除模块。要反转它,您可以右键单击并转到 "activate branch" 并将模块添加回来。