1

私は 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

4

1 に答える 1

1

問題はTeX-normal-mode、ファイルで失わ.Rnwれるため、.texドキュメントの前方検索が機能しなくなることです。保持するTeX-normal-modeには、次を使用します。

(add-hook 'noweb-select-doc-mode-hook
      '(lambda ()
         (unless (boundp 'in-noweb-select-doc-mode-hook)
           (let* ((in-noweb-select-doc-mode-hook t)
              (deactivate-mark))
         (TeX-normal-mode t)))))
于 2012-10-23T05:58:04.700 に答える