2014-01-13 11 views
23

用紙を書くときは、一般にknitrを使用して、Rで生成したテーブルとプロットを埋め込みます。これはすべて非常にうまく動作します。しかし、私の共著者の中には、このワークフローに熱心ではなく、むしろknitrとのやりとりをして、Rコードを気にせずにセクションを書くことに専念しています。彼らは、R、RStudio、および様々なパッケージをインストールする必要はあまりありません。knitrをオプションにする

したがって、最初にRを実行しなくても、knitrチャンクが埋め込まれたLaTeXドキュメントをタイプセットする方法はありますか?言い換えれば、植字プロセス中にチャンクを無視する方法(または、おそらくダミーのテーブル/プロットに置き換える)の方法はありますか?

+8

あなたはLaTeXの-コメント行としてRチャンクを保持 '.Rtex'形式で書くことができます:https://github.com/yihui/knitr-examples/blob/master/005-latexを参照してください。 Rtex –

+0

@BenBolker優秀!ポインタありがとう。しかし、チャンクは完全に自己完結型でなければならないということですか?通常のLaTeXは空の浮動小数点を詰まらせるので、 '\ includegraphic {}'を生成するチャンクを持つことはできません。 – RoyalTS

+0

または複数行区切りのチャンクを削除しようとしました.. http://unix.stackexchange.com/questions/10226/multiline-pattern-match-using-sed-awk-or-grep? –

答えて

2

更新:改訂説明here

これは、正確な質問に答える、多分ユースケースはありません。私は最近同様の挑戦をしていました。私は書き込みと分析を1つの.rnwファイルにまとめたいのですが、私の協力者はR/RStudio/GitHub/LaTeXを使いたくありませんでした。

だから、私はgit repoのサブフォルダをDropbox経由で共有することに決めました。このフォルダには、という3つのファイルが含まれています:introduction.docx,methods.docx、およびdiscussion.docx(私は.rnwファイル内に結果セクションを書きます)。唯一のキャッチは、見出しの場合は\subsection{heading}、参照の場合は\cite{key}、引用符の場合は\%、\ $、\ &のように、非常に基本的なLaTeXを書く必要があるということです。戻る.rnwファイル内

、私は.txt.docxファイルを変換:その後、

system("textutil -convert txt introduction.docx")

.tex.txtからファイルの拡張子の名前を変更します。

file.rename("introduction.txt", "introduction.tex")

その後の外Rコードチャンク、私は.tex fジル:

\input{introduction}

私はGitHubのにsmall exampleを掲載。

\documentclass{article} 
\makeatletter 
\renewcommand{\@biblabel}[1]{\quad#1.} 
\makeatother 
\date{} 
\bibliographystyle{plain} 

\begin{document} 

\begin{flushleft} 
{\Large 
\textbf{My Title} 
} 
\end{flushleft} 

\section{Introduction} 
% do not write in this section...let collaborators write in introduction.docx 

<<intro, include=FALSE>>= 
# assumes wd set to root folder collaborate 
# convert docx to txt 
    system("textutil -convert txt introduction.docx") 
# rename txt to tex 
    file.rename("introduction.txt", "introduction.tex") 
@ 

% pull in introduction.tex 
\input{introduction} 

\section{Methods} 
<<methods, include=FALSE>>= 
    system("textutil -convert txt methods.docx") 
    file.rename("methods.txt", "methods.tex") 
@ 

\input{methods} 

\section{Results} 

<<results>>= 
    dat <- data.frame(x=runif(30, 0, 30)) 
    mean <- mean(dat$x, na.rm=TRUE) 
@ 

The mean is \Sexpr{round(mean, 1)}. 

\section{Discussion} 
<<discussion, include=FALSE>>= 
    system("textutil -convert txt discussion.docx") 
    file.rename("discussion.txt", "discussion.tex") 
@ 

\input{discussion} 

\bibliography{example.bib} 
\end{document} 
+0

これはいいです(たとえば、Google Docsからのセクションをもっと賢く読むことができます)!しかし、私が本当に探しているのは、私の共著者が古いLaTeX文書と同じようにknitr文書を使用できるようにする方法です。つまり、私は自分の助けなしに文書自体をタイプセットできるようにしたいのです。 – RoyalTS

+0

ありがとうございます。私はGoogle Docsもうまくいくと思う。私のコラボレーターはかなり伝統的なWord /トラックの変更の人々ですが、私はGoogle Docsがどのようにいいか分かりました。 –

関連する問題