18

私はSweaveドキュメントの作成を効率化することを検討しています。また、人々の現在の設定について聞きたいです。聖杯は次のようになると思います。

  • 画面の半分で Rnw コードを編集する
  • 単一のキーバインドで Sweave ドキュメントをコンパイルし、pdflatex を実行
  • 画面の残りの半分に PDF を表示します。コンパイルされると、PDF は更新され、編集中のドキュメントの部分を中心に表示されます
  • コンパイルにエラーがある場合は、PDF をコンパイルの結果に置き換えます (ラテックス エラーや Sweave エラーなど)。

私は、ソリューションが Emacs/ESS の一部であり、Emacs プロファイルのコードおよび/または素敵な Makefile と組み合わされていることを推測/期待しています。しかし、Sweave および/または Latex ドキュメントを作成するための皆さんの好みの方法について聞きたいと思っています。

4

6 に答える 6

9

私が話した他の数人の R ユーザーは、「プロジェクトごとに 1 つのディレクトリ」セットアップと単純な Makefile を使用しています。ご想像のとおり、これは Emacs/ESS でうまく機能します。

私は、'R CMD Sweave' が追加される前に以前に書いた単純なシェル スクリプトsweaveを呼び出す傾向があります (Makefile の再作成またはコピーが魅力的でない YMMV であることがわかったため)。また、Emacs と自動更新 pdf ビューア ( okularや などkpdf) も使用しています。Emacs23 は pdf ファイルを直接プレビューすることもできますが、ワークフローをそれに切り替えていません。

edd@ron:~$ cat bin/sweave
#!/bin/bash -e

function errorexit () {
    echo "Error: $1"
    exit 1
}

function filetest () {
    if [ ! -f $1 ]; then
       errorexit "File $1 not found"
    fi
    return 0
}


if [ "$#" -lt 1 ]; then
    errorexit "Need to specify argument file"
fi


BASENAME=$(basename $1 .Rnw)

RNWFILE=$BASENAME.Rnw
filetest $RNWFILE
echo "library(tools); Sweave(\"$RNWFILE\")" \
      | R --no-save --no-restore --slave

LATEXFILE=$BASENAME.tex
filetest $LATEXFILE && pdflatex $LATEXFILE
于 2009-09-04T15:17:05.213 に答える
6

Eclipse用のStatETプラグインを使用して、そこで提案するすべてのことを実行できます。それが私がSweave開発に使用するものです。構文の強調表示などを含め、latexとRの両方を非常によく理解しています。

ここで入手できます:http://www.walware.de/goto/statet

Longhow Lamは素晴らしいガイドを書いています:http ://www.splusbook.com/Rintro/R_Eclipse_StatET.pdf 。

http://www.statalgo.com/?p=93

于 2009-09-04T18:59:31.363 に答える
6

私はOS X でTeXShopを使用して、すべての LaTeX および Sweave レポートを作成しています。私にとって、新しいコンパイル パイプラインは、ファイルを追加するのと同じくらい簡単で、以下を含むファイルが呼び出さSweave.engineれます。~/Library/TeXShop/Engines/

#!/usr/bin/env Rscript
args <- commandArgs(T)

fname <- strsplit(args[1],'\\.')[[1]][2]

Sweave(paste(fname,'Rnw',sep='.'))

system(paste('pdflatex',paste(fname,'tex',sep='.')))

Sweave は、TeXShop 内でドキュメントをコンパイルする選択可能な方法になりました。次の TeX hash-bang をファイルの先頭に追加することで、ドキュメントのデフォルトに設定できます。

% !TEX TS-program = Sweave

Cmd-T を押すと、ドキュメントがタイプセットされます。別のウィンドウに PDF が自動的にポップアップ表示されます。TeXShop にはSyncTeXテクノロジも組み込まれているため、Rnw ソースで Cmd-Click を押すと、PDF ウィンドウで対応する出力が強調表示され、PDF ウィンドウで Cmd-Click を押すと、Rnw ソースで対応する入力が強調表示されます。

TeXShop は Mac 専用ですが、優れた Qt/poppler ベースのクローンであるTeXworksが Linux、Windows、および Mac で利用可能で、TeX ハッシュバングや SyncTeX など、同じ機能の多くをサポートしています。TeXworks は、Windows 用のMikTeXパッケージのバージョン 2.8 に含まれる成熟度に達しています。

于 2009-09-24T01:09:25.210 に答える
3

RStudioをお試しください。

以前の回答で述べたように、私はEmacsTeXShopのファンでした。

しかし、Rstudioは私を魅了し始めています。これは、急速に改善されているR専用のIDEです。ぜひチェックしてみてください。

私は今でも、Mac用の標準RIDEで特定のRのみの開発タスクを実行するのが大好きです。ただし、Sweaveドキュメントとそれに関連するいくつかのR開発を同時に行う場合は、RStudioが優先されます。それは事実上ゼロの微調整で動作します。元の質問の後半にあるPDF関連の機能についてはよくわかりません。

于 2011-09-10T06:59:54.807 に答える
2

時間を節約できたのは、emacs の「自動挿入」モードです。新しい .rnw ファイルを開くたびに、emacs が基本的なドキュメント テンプレートを自動的に設定するように設定しました。あとは、レポートを書き始めるだけです。

更新: 自動挿入から切り替えました。今は "template.el" アプローチを使用しています。

于 2009-11-03T15:54:21.097 に答える
1

「プロジェクトごとに 1 つのディレクトリ」と Makefile のアプローチも使用します。また、tth を使用して OOo および MS Word に変換できる HTML で出力を作成するコマンドも含めます。多くの共同作業者が MS Office ユーザーであり、PDF 出力の使用に抵抗があるため、これは私にとって重要です。これを行う方法については、Vanderbilt の Frank Harrell の twiki から多くのことを学びました。

個人的には、選択したエディターとして gvim を使用しており、そこからmakeを実行するのは、Emacs からのように非常に簡単です。

于 2009-09-05T09:53:31.333 に答える