2009-09-04 15 views
18

私はSweave文書の作成を合理化しようとしています。私は人々の現在の設定について聞きたいと思います。シングルキーバインドが はSweave文書をコンパイルし、実行するには、他の半分に Sweave文書を開発するための推奨事項

  • ビューPDF をPDFLATEX
  • 画面の半分に

    • 編集RNWコード:聖杯はこのような何かを行くような気がスクリーン; がコンパイルされたら、PDFが更新され、あなたは、コンパイルエラーを持っている場合は、コンパイルの結果(例えば、ラテックスエラーやはSweaveエラー)

    とPDFを交換

  • を編集している文書の部分を中心に私は、この解決策がEmacs/ESSの一部とEmacsのプロファイルや素晴らしいMakefileの組み合わせであると推測しています。しかし、私はSweaveやLatexの文書を作成する皆さんの好みの方法について本当に聞きたいと思います。

  • 答えて

    9

    「プロジェクトごとに1つのディレクトリ」設定とシンプルなMakefileを使用することを話した他のRユーザーはほとんどいません。あなたが疑うように、それはEmacs/ESSでうまくいきます。

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

    [email protected]:~$ 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 
    
    6

    Eclipse用のStatETプラグインでは、そこに示唆していることはすべて実行できます。それが私がSweave開発に使うものです。ラテックスとRの両方を非常によく理解しています。

    ここには、http://www.walware.de/goto/statetがあります。

    Longhow Lamは素敵なガイド:http://www.splusbook.com/Rintro/R_Eclipse_StatET.pdfを書いています。私も "1-あたりのプロジェクトディレクトリ" とMakefileのアプローチを使用し

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

    +2

    私は同意します。 Sweave、StatET、Eclipseはうまく機能します。私はEclipseでSweaveを設定する方法を記述した投稿を書いたhttp://bit.ly/adfhZ1 –

    +0

    (スプラッシュブックのリンクは壊れていますが、私はそれを見つけて、次のように見えます。 .splusbook.com/RIntro/R_Eclipse_StatET.pdf) – isomorphismes

    1

    。また、HTMLで出力を作成するためのコマンドが含まれています。このコマンドは、tthを使用してOOoおよびMS Wordに変換できます。私の協力者の多くはMS Officeユーザーであり、PDF出力の使用に抵抗しているので、これは重要です。ヴァンダービルトのフランク・ハレルのツイキからこれをどうやって行うのか、多くのことを学びました。

    個人的に、私は選択の私のエディタとしてgvimを使用し、を実行しているが、それはEmacsのからそのままそこからは、非常に簡単であることを確認してください。

    6

    OS XでTeXShopを使用して、LaTeXとSweaveのすべてのレポートを作成しています。

    #!/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の内部文書をコンパイルする選択方法であって、私にとっては、新しいコンパイルパイプラインには、次のものが含まれてい~/Library/TeXShop/Engines/Sweave.engineと呼ばれるファイルを、追加するのと同じくらい簡単です。私は、ファイルの先頭に次のTeXのハッシュ強打を追加することにより、文書のデフォルトに設定することができます。

    % !TEX TS-program = Sweave 
    

    植字しますCMD-Tを押すPDFは自動的に別々にポップアップ表示document-窓。 TeXShopにもSyncTeX技術が組み込まれているため、RnwソースのCmd-ClickはPDFウィンドウの対応する出力を強調表示し、PDFウィンドウのCmd-ClickはRnwソースの対応する入力を強調表示します。

    TeXShopはmac-onlyですが、Linux、Windows、Macでは素晴らしいQt/popplerベースのクローンTeXworksが利用でき、TeX hash-bangsやSyncTeXなどの多くの機能をサポートしています。 TeXworksはWindows用のMikTeXパッケージのバージョン2.8に含まれています。

    +0

    私はRscriptを直接使うのが好きです!非常に多くのソリューションがRを呼び出すためにシェルを呼び出す...記録のために、ファイル拡張子を扱うための 'strsplit'と' paste'は必要ありません。 'Sweave'と' pdflatex'の両方が自動的に拡張子を追加します。 –

    +0

    私は、TeX Shopが全ファイル名File.Rnwをエンジンに渡したので、その投稿を書いた時点で必要だったと思います。 'Sweave'はそれでうまくいくだろうが、' pdflatex'はチョークするだろう。 – Sharpie

    +0

    --Rnwと.pdfファイルの間でcmd-clickをクリックしたとします。あなたもこれらのフープをジャンプする必要がありました:http://cameron.bracken.bz/synctex-with-sweavepgfsweave-in-texshoptexworks –

    2

    私にいくつかの時間を節約したことの1つは、emacsの「自動挿入」モードです。私はそれを設定して、新しい.rnwファイルを開くたびに、emacsが自動的に基本文書テンプレートを設定し、私が行う必要があるのは私のレポートを書くことだけです。

    更新:私は自動挿入から離れました。今私は "template.el"アプローチを使用します。

    3

    お試しRStudio

    私はEmacsTeXShopのファンで、以前の回答で述べたとおりです。

    しかし、Rstudioが私を倒し始めています。 Rのための急速に改良された専用IDEです。確かにチェックアウトする価値があります。

    私はまだMac用のstandard R IDEで特定のR専用開発作業を行うのが大好きです。しかし、Sweaveのドキュメントと関連するR develを同時に使用すると、RStudioが勝利します。事実上ゼロ調整で動作します。元の質問の後半にあるPDF関連の機能についてはわかりません。

    関連する問題