在尝试为this question寻找自己的解决方案时,我发现自己陷入了尝试编写有效的Rd标记的过程中。我想要的是添加一个名为Raw Function Code
的部分,并将函数的代码放在其下。通过编写脚本来修改Rd文件以包含
\section{Raw Function Code}{\code{
# some piece of R script will eventally provide this part of the text
}}
但是,即使我手动将文本正确地分隔成.Rd文件(使用空格或制表符),每条线的初始空白区域似乎也会被剥离,留下不合需要的外观功能。我注意到如果我在白色空间之前提供一个起始字符,则保留空白区域。但是,我不想提供一个起始角色,因为我希望人们能够直接从制作的PDF中复制和粘贴。
我已审核parseRd,我知道有三种类型的文字LaTeX- 喜欢,像R,和逐字。我试图将我的功能代码放在\ code和\ verb中,似乎都没有产生预期的结果。我该怎么做才能抓住我最初的空白区域?
答案 0 :(得分:1)
\section
宏包含LaTeX类型的文本,但是当您想编写代码时,可以使用\synopsis
宏,即
\synopsis
# some piece of R script will eventally provide this part of the text
}
但是有一个问题;你不能给这个部分命名,它会自动命名为另一个用法部分。使用\examples
宏可以实现同样的功能,但现在该部分的名称是示例,这可能更加可疑(更不用说您可能已经有了示例部分)。
答案 1 :(得分:1)
如果不修改Rd代码的用法或示例部分,则无法实现。请参阅Hemmo的答案,了解可用的解决方法。它以逐字模式生成文本,这是次优的,但总比没有好。
(如果这种情况发生变化,这个答案就是设置社区Wiki。这个结果是R-2.15.1的最新结果)
答案 2 :(得分:0)
如果你想要一个超级hacky方法,你可以使用\Sexpr
制作零宽度字符并在它们之间添加空格:
#' first line \cr
#'\Sexpr{"\u200B"} \Sexpr{"\u200B"} \Sexpr{"\u200B"} \Sexpr{"\u200B"} indented line
但是警告 - 你的包装会很好,但是R CMD CHECK会合适。