私は 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
に対して既に機能します。(または)を使用すると、対応する行にジャンプできます (この機能は前方検索とも呼ばれます)。.tex
master.tex
chapter.tex
C-c C-v
C-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 、、および... 展開する実際の呼び出しが表示されます。.Rnw
C-c C-_
C-c C-c
chapter.pdf
C-c C-c View
%o
%n
%b
okular --unique chapter.pdf#src:8`pwd`/./chapter.Rnw
を手動で置き換えるchapter.pdf
と、から の対応する行にmaster.pdf
ジャンプできます。したがって、コマンドは基本的に機能しますが、ファイル内から正しいマスター ファイルが見つかりません。chapter.Rnw
master.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.Rnw
wrapper.Rnw