fortunes软件包
bibtex条目
Rd文件
每个示例都具有一些理想的特点。
在我看来,由于缺乏以下功能,R社区很少使用FAQ:i)可以轻松从R命令行访问(即通过R软件包); ii)强大的搜索功能; iii)交叉引用; iv)扩展贡献软件包。借鉴bibtex
和fortunes
软件包的想法,我们可以构想一个新系统,其中:
可以从R中搜索常见问题解答(FAQs)。典型的调用方式类似于
fortune()
界面:faq("lattice print")
, 或者faq() #surprise me!
,faq(51)
,faq(package="ggplot2")
。包可以提供它们自己的
FAQ.rda
,其格式尚不清楚(见下文)提供了
Sweave
/knitr
驱动程序以输出格式良好的Markdown/LaTeX等。
问题
我不确定最好的输入格式是什么。无论是转换现有的FAQ还是添加新条目都是如此。
使用嵌套列表树(或自定义的S3/S4/ref class
或structure
)与R语法相当繁琐,
\list(title = "Something to be \\escaped", entry = "long text with quotes, links and broken characters", category = c("windows", "mac", "test"))
文档虽然不是R结构本身(它更像是一个具有自己解析器的LaTeX子集),但也许可以提供一个更吸引人的输入格式示例。它还有一组用于解析R中结构的工具。然而,它当前的目的相当特定和不同,是面向R函数的一般文档,而不是FAQ条目。我认为它的语法也不理想,更现代的标记语言,比如markdown,会更易读。
还有其他什么东西吗?也许有解析markdown文件到R结构的示例?有将Rd文件偏离其预期目的的示例吗?
总之
我希望能够得出:
1- 一个良好的设计,用于扩展fortune
包到更一般的条目,例如FAQ条目的R结构(类)
2- 一个更方便的格式来输入新的FAQ(而不是当前的texinfo格式)
3- 一个解析器,无论是用R编写的还是其他语言(bison?),将现有的FAQ转换为新结构(1),和/或将新的输入格式(2)转换为R结构。
更新2:在赏金期的最后两天,我得到了两个答案,都很有趣但完全不同。因为问题相当广泛(可以说是不明确的),所以没有一个答案提供完整的解决方案,因此我暂时不会接受任何答案。至于赏金,我将归因于在赏金到期前获得最多赞的答案,希望有一种更平等地分配它的方式。