Knitr/LaTeX:基于外部参数的条件执行

Knitr/LaTeX:基于外部参数的条件执行

我使用集成代码knitr创建文档。现在我想读出一些外部参数(保存在 TXT 或 CSV 文件中)并根据此文档中指定的条件创建文档。例如,在 CSV 文件中可能会有类似以下内容:LaTeXR

documenttype \t report1

并且可能有两种以上的报告类型(例如 report1、report2、report3、report4、report5)。然后我必须从 CSV 文件中读出文档类型并根据报告类型执行不同的 LaTeX 代码(我可能会将 LaTeX 代码保存在文件 report1.rnw、report2.rnw 等中,然后从主文档中调用正确的代码)。我读过一种etoolbox设置条件标志的方法。但是,我可以根据 CSV 或 TXT 文件的内容设置这些标志吗?那么,我是否可以先读出另一个文件的内容,提取标志,然后根据这些条件执行其他文件(这些条件不仅是真或假,而且是真正不同的标志)?还是我必须先执行此操作R,然后执行相应的 knitr 文件,进而R调用不同的R源文件作为代码块?

答案1

这可能无法满足您的所有要求,但您可以根据 R 变量使用子文档的条件包含。示例:

<<output_a_child_doc, child=if (r_flag_is_true) "child_doc.Rnw">>=
@

相关内容