私は Ubuntu 12.04、Emacs 24、および (pdf) ビューアー Okular 0.14 を使用しています。.Rnw(Sweave) ファイルから Okular を開く (そして特定の行にジャンプする) ことができるようにしたいと考えています。使用することで
(setq TeX-view-program-list
'(("Okular" "okular --unique %o#src:%n`pwd`/./%b")))
では、これはと 章で構成される複数ファイルのプロジェクトであっても、ファイル~/.emacsに対して既に機能します。(または)を使用すると、対応する行にジャンプできます (この機能は前方検索とも呼ばれます)。.texmaster.texchapter.texC-c C-vC-c C-c View
.Rnwファイル内からの前方検索も行いたいのですが、どこを(Sweave)chapter.texに置き換えますか。chapter.Rnwただし、上記の設定ではC-c C-c View(内から実行chapter.Rnw)、 が得られます"Output file "chapter.pdf" does not exist."。明らかに、master.pdf開かれている必要があります。
でローカル変数を設定しようとしましたchapter.Rnw(これは の純粋な.texドキュメントで機能します) が、両方の意味でファイルC-c C-_に対して無視されるようです: 最初に何も挿入しなくなり、2 番目に で、まだ間違ったファイルを開こうとしている. では、 which 、、および... 展開する実際の呼び出しが表示されます。.RnwC-c C-_C-c C-cchapter.pdfC-c C-c View%o%n%b
okular --unique chapter.pdf#src:8`pwd`/./chapter.Rnw
を手動で置き換えるchapter.pdfと、から の対応する行にmaster.pdfジャンプできます。したがって、コマンドは基本的に機能しますが、ファイル内から正しいマスター ファイルが見つかりません。chapter.Rnwmaster.pdf.Rnw
最小限の例を次に示します。
chapter.Rnw:
% patchDVI setup (see vignette)
\SweaveOpts{concordance=TRUE}
<<echo=FALSE>>=
.TexRoot <- "master.tex"
@
foo bar foo bar
\clearpage
<<hist, echo=TRUE, fig=true>>=
X <- rnorm(50, mean=20, sd = 3)
hist(X)
@
foo bar foo bar
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "master.tex"
%%% End:
master.tex:
\documentclass{scrbook}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[american]{babel}
\usepackage{blindtext}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{fancyvrb}
\usepackage{Sweave}
\fvset{listparameters={\setlength{\topsep}{0pt}}}
\renewenvironment{Schunk}{\vspace{\topsep}}{\vspace{\topsep}}
\begin{document}
\input{chapter}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
ラッパー.Rnw:
% patchDVI setup (see vignette)
<<echo=FALSE>>=
.SweaveFiles <- c("chapter.Rnw")
@
を使用してコンパイルしますRscript -e "patchDVI::SweavePDF('chapter.Rnw', encoding='utf8')"(したがって、Duncan Murdoch の R パッケージ patchDVI を使用してファイルとの同期を取得します.Rnw。プロジェクト全体をコンパイルすることもできます。 chapter.Rnwwrapper.Rnw