3

LyX、Sweave 杂记

 3 years ago
source link: https://yihui.org/cn/2010/12/lyx-sweave-misc-notes/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

LyX、Sweave 杂记

谢益辉 / 2010-12-06


注意:本文中介绍的 Sweave 相关内容已经过期,请参见 LyX/Sweave 手册LyX/knitr 手册

LyX 2.0 的 layout 文件中将正式引进一个新标签 ParbreakIsNewline,它让我过去的一个工作变成了废物,即:如何在代码块中回车换行,而不是 Ctrl 回车来换行。这种事情还是靠开发者从源头上解决比较好,民间技巧毕竟不是长久之计。

Sweave 支持一个 \SweaveInput{} 命令,话说我用了这么久,完全没有意识到有这么个东西的存在。今天偶然发现,还是从 LyX 2.0 的 sweave.module 中看到的。Google 之,无文档无说明。气煞我,我老早就在琢磨是否能将 Sweave 文档像 LaTeX 那样用 \include{} 分成几个小文档,原来这东西早就存在了。然后,又是不理解,为什么 Leisch 老大设计 Sweave 的时候总是喜欢发明一些新命令,你去解析 \include{} 命令不是挺好的么,干嘛又发明一个 \SweaveInput{}。就像 \Sexpr{}\SweaveOpts{} 一样,都是些伪 LaTeX 命令,我总觉得不优雅。

看了一下 LyX 的 InsertLayout 的用法,挺好的,早该看而没看的东西。

因为想写个包的文档,所以又回头看了看上次写的自动配置 LyX 和 Sweave 的脚本,左看右看觉得死板,于是乎又花了一天时间改写了一下。现在萝卜青菜,愿意吃啥吃啥了,把 R 执行的部分抽象出来单独放在一个文件中,如果将来想做新的配置,只需要在外部改这个 R 代码就可以了,从 LyX 彻底独立了出来。

source('http://gitorious.org/yihui/lyx-sweave/blobs/raw/master/lyx-sweave-config.R')

命令行环境的细节真是能淹死人,今天才知道原来 Windows 的命令行窗口中,尖尖符号 ^ 是转义符;不懂它为啥要特立独行,人家都用反斜杠 \ 转义。

现在的工作基本上全面转向 Git;各大支持 Git 的网站中,可能 GitHub 是最好用的,大大提高了程序开发效率。尤其是其代码行内评论的功能,很是方便交流。有了前面介绍的 Rd2roxygen 包之后,开发 R 包也轻松多了,基本上就是在 Emacs 里 C-c C-o,完事之后终端打开 R,运行一下两句代码的事情:

library(Rd2roxygen)
rab('your.pkg')

现在再加上 LyX/Sweave 这把刀也磨好了,于是写 Vignette 也不在话下。人挡杀人,佛挡杀佛。最终有了勇气把那些塞到犄角旮旯的老 R 包都捡出来,继续开发。上周 animationformatR 分别更新了新版本;Rd2roxygen 也放了新版本(为了更加懒惰);老早以前的那个 fun 包也复活过来,再把文档整理一下,大概也是可以正式发布的。怡轩还翻出了另一个老想法:在 R 中原生支持生成 Flash 动画。现在已经完成了从 PNG 图形到 SWF 的转换,所有结果都在一个新包 R2SWF 中(将来也许会合并到 animation 中)。

外一篇:羊群效应 #

最近两天 COS 论坛上出现了一个典型的羊群效应:某一只新 “羊” 发帖以 “急” 开头,后来得到了回答,该羊可能便认为 “急” 是有用的,于是就每个帖子都来 “急” 一下;后来又来了一只羊,发帖以 “ASAP”(越快越好)结尾,后来得到了回答,于是该羊也不假思索发帖一律加上 ASAP 结尾;又来了些新羊,大家看前面都是急帖,于是都跟着急。整个论坛就这样急起来了。有好事者问了一下其中一只羊,为啥要 ASAP 呢,结果发现事实不是 ASAP。本来我就对急帖心存反感,一问还不是真的急(就像听了个狼来了的故事),这以后旁观者到底还该不该急呢?

Rd2roxygen:结束 R 包开发者的文档噩梦 用什么软件做幻灯片

Disqus Utterances Preferences

© Yihui Xie 2005 - 2020

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK