(摘要在底部)我使用Vim-R插件设置了Vim和R,它完美无瑕。我还在Vim中使用Latex-suite,可以毫无问题地创建,编译和查看.tex文件。对于knitr,我曾经使用Rstudio,但我真的想留在Vim。我刚刚开始使用vim-latex-suite,所以也许我错过了一些基本的东西,但是在我的Vim + Latex-Suite + knitr组合中有些东西不起作用。
在Associate .Rnw with vim latex suite之后,我在我的vimrc中包含了.Rnw文件应该被读作.tex文件(尽管有人在该帖子的评论中说明它应该在vim-r-plugin中自动化了2011年但它没有:最初文件类型被检测为rnoweb,当我尝试编译时,它抛出一个错误,说我正在尝试编译非.tex文件)。
现在,如果我使用以下代码作为.Rnw文件:
\title{Data analysis}
\begin{document}
\maketitle
\Section{Introduction}
Some text as introduction
\end{document}
它编译没有问题。当我包括
<<>>=
1 + 1
@
它编译,但它打印到
!! ?? = 1 + 1
@
没有块颜色和!和?转过身来。
当我添加评论(# comment
)时,它会返回错误
您无法使用&#39;宏参数字符#&#39;在垂直模式
但它确实编译并打印为
评论
当我使用\
将其转义时,不会显示任何错误并打印
#comment
我正在使用macvim 7.4并更新了所有插件(使用Bundle安装/更新)和R 3.1.2(最新更新)。
所以,总结一下:vim + r有效,vim + latex有效,但vim + r + latex不起作用。 R代码未执行且注释显示错误。
如果有人能指出我正确的方向,我们将不胜感激!
答案 0 :(得分:4)
自发布此问题以来,我做了一些研究并找到了解决方案。我必须向Josh Davis提供很多(可能全部?)的功劳,我从中完成了大部分设置。他指着我去看看我的.Rnw文件。但是,对于像我这样缺乏经验的用户,我需要一些时间和额外的信息来源。所以对于其他一些用户来说,这个概述可能很有趣。
现在,通过终端中的一些初始设置,我可以在VIM中编辑.Rnw文件,同时观看我的PDF格式。
工作流程:
$ Rscripts ...
(由kicker调用)将.Rnw编译为.tex 安装组件
安装kicker
gem install kicker -s http://gemcutter.org
我制作了一个&#39;配方&#39;为了使kicker能够观看.Rnw文件,当它发生变化时,它会执行一个终端命令。我叫它knitr.kick
将它放在我的主目录中:
#!/bin/bash
FILE="${1}"
KNITR="echo \"Rerunning Knitr..\"; Rscript -e \"library(knitr); knit('./${FILE}')\""
echo "Watching ${FILE}..."
kicker -e "${KNITR}" ${FILE}
我创建了一个别名,通过添加到.bash_profile:
来调用此踢球者 knitr="~/knitr.kick"
在installation of latexmk之后,我可以致电
$ latexmk -pvc -pdf example.tex
现在我可以致电:
$ knitr example.Rnw
在我的终端中,示例.Rnw被观看,每次更改时,运行Rscript并将.Rnw文件编译为.tex文件。比.mx文件由latexmk编译为PDF。
这是我在SO上的第一个答案,所以如果缺少部分信息,请告诉我。
P.S。可以在here
找到令人敬畏的混合Sweave和乳胶语法突出显示在VIM中答案 1 :(得分:0)
对于Rnoweb文件,当您将文件格式设置为<LocalLeader>kn
时,可以使用键绑定<LocalLeader>kp
和rnoweb
分别在Vim中构建.tex和.pdf文件。有关详细信息,请参阅https://raw.githubusercontent.com/jcfaria/Vim-R-plugin/master/doc/r-plugin.txt。为便于编辑,您可能希望将文件格式设置为tex
。我在~/.vim/ftplugin/tex.vim
map <LocalLeader>k :w<CR>:cd %:p:h <CR>:!Rscript -e 'library(knitr);knit("%:p")'<CR>:!latexmk -pdf -pdflatex='pdflatex -shell-escape -synctex=1 -file-line-error -interaction=nonstopmode' %:r.tex <CR>:!open -a Skim %:r.pdf <CR><CR>
使用<LocalLeader>k
键绑定将.Rnw转换为PDF。这适用于Mac。我相信它可以很容易地针对Linux进行调整。