2011-09-30 60 views
3

之間的工作流程比方說,我寫了下面的小.Rnw文件:試圖瞭解乳膠,sweave和R

\documentclass{article} 
\usepackage[utf8]{inputenc} 
\usepackage{Sweave} 
\usepackage{tikz} 
\usepackage{pgf} 
\begin{document} 

<<>>= 
sessionInfo() 
@ 

\end{document} 

然後我可以去R和使用sweave翻譯的.Rnw文件成.tex文件 完成此操作後,可以調用乳膠解釋器,因爲我使用了乳膠知道如何處理sweave特定的代碼標籤。 當我第一次做這個程序時,我得到了Sweave.sty文件可能不存在的常見錯誤 。我一派,可以通過鍵入以下命令 到Mac OS的終端解決問題:

mkdir -p ~/Library/texmf/tex/latex 
cd ~/Library/texmf/tex/latex 
ln -s /Library/Frameworks/R.framework/Resources/share/texmf Sweave 

我現在不明白的是如何乳膠包\usepackage{Sweave}知道它 有看〜/ Library/texmf/tex/latex找到Sweave.sty文件的符號鏈接? 如果我更改以下行,會發生什麼:

LN -s /Library/Frameworks/R.framework/Resources/share/texmf Sweave

LN -s /庫/框架/ R .framework/Resources/share/texmf Sweave_Link

在.Rnw文件中,我必須使用那麼\usepackage{Sweave_Link}

回答

3

安裝LaTeX時會自動設置該路徑;它是您的個人texmf樹,您可以放置​​任何您希望LaTeX在其中找到的樣式或類文件。目錄名不重要,它在它們中遞歸地搜索Sweave.sty。因此,將目錄鏈接更改爲Sweave_Link應該沒有關係。

你可以通過運行kpsewhich Sweave.sty來測試它,它在所有texmf樹中查找所需的文件。

此外,您不需要在Rnw文件中有\usepackage{Sweave}; Sweave會自動添加它。

+0

你好,謝謝你回答亞倫。你說,安裝路徑〜/ Library/texmf/tex/latex是由latex自動設置的,但爲什麼不自動創建這個目錄呢?非常感謝! – user969113

+0

@ user969113如果它會創建這條路徑,它將是空的開始,這看起來很浪費。有一些目錄樹在LaTeX(和其他TeX相關的程序)搜索文件,你的用戶樹只是其中之一,並不是每個人都需要它。輸入'kpsewhich --show-path = tex'獲取搜索到的路徑列表。 –

+0

好吧,這聽起來合乎邏輯:)感謝您的意見! – user969113