RweaveLatex
位於 utils
包(package)。 說明
一名司機Sweave
翻譯的R“running them” 在 LaTeX 文件中的代碼塊,即parse()
和eval()
每個。
用法
RweaveLatex()
RweaveLatexSetup(file, syntax, output = NULL, quiet = FALSE,
debug = FALSE, stylepath, ...)
參數
file |
Sweave 源文件的名稱。參見 |
syntax |
類 |
output |
輸出文件的名稱。默認是刪除擴展名‘.nw', '.Rnw' 或者 '.Snw'並添加擴展名'.tex’。中的任何目錄路徑 |
quiet |
如果 |
debug |
如果 |
stylepath |
查看具體信息'。 |
... |
“支持的選項”中列出的選項的命名值。 |
細節
生成的LaTeX 文件需要包含行‘\usepackage{Sweave}’,如果 Sweave 源文件中不存在(可能在注釋中),則由RweaveLatex
driver 作為‘之前的最後一行\begin{文檔}' 陳述。如果stylepath = TRUE
, hard-coded 文件路徑‘Sweave.sty' 在裏麵R安裝設置為Sweave
。 hard-coded 路徑使得 LaTeX 文件的可移植性較差,但避免了安裝當前版本的問題Sweave.sty’到 TeX 輸入路徑中的某個位置。但是,如果 TeX 包含空格(在 Windows 下通常如此)或 TeX 特殊字符,則 TeX 可能無法處理 hard-coded 路徑。
默認為stylepath
現在從環境變量中獲取SWEAVE_STYLEPATH_DEFAULT,或者是FALSE
它未設置或為空。如果設置的話,它應該是準確的TRUE
或者FALSE
:任何其他值均視為FALSE
.
對於經常使用 Sweave 的用戶來說,最簡單的方法是確保‘Sweave.sty' 在 TeX 輸入路徑中添加 'R_HOME/分享/texmf” 作為“texmf 樹”(“MiKTeX 設置”實用程序中的“根目錄”)。
默認情況下, 'Sweave.sty'加載'圖形x’ LaTeX 包並將所有包含圖形的寬度設置為:
'\setkeys{杜鬆子酒}{width=0.8\textwidth}’。
此設置(定義在‘圖形x’包)影響傳遞給‘的寬度尺寸選項\includegraphics{}每個繪圖文件的指令,反過來會影響繪圖文件的縮放比例,因為它們將出現在最終文檔中。
因此,例如,您可以設置width=3
在您的圖形塊中,生成的圖形文件的寬度將設置為 3 英寸。但是,最終文檔中圖形的寬度將設置為“0.8\文本寬度’並且高度尺寸將相應地縮放。最終文檔中的字體和符號將采用類似的比例。
您可以通過包含‘來調整默認值\setkeys{杜鬆子酒}{寬度=...}' 指令在你的'.Rnw' 之後的文件\begin{文檔}’指令並改變width
根據您的喜好選擇值,使用標準 LaTeX 測量值。
如果您希望完全覆蓋此默認行為,您可以添加“\usepackage[nogin]{Sweave}’序言中的指令。在這種情況下,不會將任何大小/縮放選項傳遞給‘\includegraphics{}’指令和height
和width
選項將決定運行時生成的圖形文件大小和最終文檔中圖形的大小。
'Sweave.sty” 也支持“[nofontenc]' 選項,它會跳過默認包含的 '\usepackage[T1]{fontenc}’ 用於 pdfTeX 處理。
它還支持‘[inconsolata]' 選項,渲染等寬文本inconsolata
,默認使用的字體R幫助頁麵。
使用花哨的引號(參見sQuote
) 設置時可能會出現問題R以非 UTF-8 語言環境輸出(請注意,自 2018 年起 pdfTeX 默認采用 UTF-8)。任意設定options(useFancyQuotes = FALSE)
或安排 LaTeX 了解所使用的編碼並確保使用包含定向引號的打字機字體。
某些 LaTeX 圖形驅動程序不包含‘.png' 或者 '.jpg' 在已知擴展列表中。要啟用它們,請添加類似“\DeclareGraphicsExtensions{.png,.pdf,.jpg}’到文檔的序言中或檢查圖形驅動程序的行為。當兩個pdf
和png
是TRUE
這兩個文件都將由Sweave
,以及它們在‘中的順序聲明圖形擴展' 列表決定了將使用哪個pdflatex
.
支持的選項
RweaveLatex
支持以下代碼塊選項(括號中的值顯示默認值)。當從Sweave
到...
傳遞時,字符串值應加引號,但在代碼塊的標頭中使用時不應加引號。
- 引擎:
-
字符串(
"R"
)。僅處理engine
等於"R"
或"S"
的塊。 - 回聲:
-
邏輯(
TRUE
)。包括R輸出文件中的代碼? - 保留來源:
-
邏輯(
TRUE
)。當回顯時,如果TRUE
原始源被複製到文件中。否則,將回顯已解析的源。 - 評估:
-
邏輯(
TRUE
)。如果FALSE
,則不會評估代碼塊,因此不會生成文本或圖形輸出。 - 結果:
-
字符串(
"verbatim"
)。如果"verbatim"
,輸出R命令包含在 verbatim-like 中S輸出' 環境。如果"tex"
,輸出被視為已經正確的 LaTeX 標記並按原樣包含。如果"hide"
那麽所有輸出都被完全抑製(但在編織期間執行的代碼)。值可以縮寫。 - 打印:
-
邏輯(
FALSE
)。如果TRUE
,這會強製所有表達式的auto-printing。 - 學期:
-
邏輯(
TRUE
)。如果TRUE
,值的可見性模擬了交互式R會話:不打印賦值的值,打印單個對象的值。如果FALSE
,輸出僅來自顯式print
或類似的陳述。 - 分裂:
-
邏輯(
FALSE
)。如果是TRUE
,則文本輸出將寫入每個代碼塊的單獨文件中。 - 條帶.白色:
-
字符串(
"true"
)。如果"true"
,則刪除輸出開頭和結尾的空白行。如果"all"
,則所有空白行將從輸出中刪除。如果"false"
則保留空行。“空行”是空行或僅包含空白(空格和製表符)的行。
請注意,代碼塊中的空行通常會在輸出時生成提示字符串而不是空行。
- 字首:
-
邏輯(
TRUE
)。如果TRUE
生成的圖形和輸出文件名都具有prefix.string
選項給出的公共前綴:否則隻有未標記的塊使用該前綴。 - 前綴.字符串:
-
一個字符串,默認是源文件的名稱(不帶擴展名)。請注意,它用作文件名的一部分,因此需要可移植。
- 包括:
-
邏輯(
TRUE
),表示輸入語句是否用於文本輸出(ifsplit = TRUE
) 和 '\包括圖形’數字報表應該自動生成。使用include = FALSE
輸出是否應出現在與代碼塊不同的位置(通過手動放置輸入行)。 - 如圖:
-
邏輯(
FALSE
),指示代碼塊是否產生圖形輸出。請注意,每個代碼塊隻能以這種方式處理一個圖形。圖形塊的標簽用作文件名的一部分,因此最好是字母數字。 - 每股收益:
-
邏輯(
FALSE
),指示是否應生成 EPS 數據。如果fig = FALSE
則忽略。 - pdf:
-
邏輯 (
TRUE
),指示是否應生成 PDF 數字。如果fig = FALSE
則忽略。 - pdf.版本、pdf.編碼、pdf.壓縮:
-
傳遞給
pdf
來設置版本、編碼和壓縮(或不設置)。默認值取自pdf.options()
。 - PNG:
-
邏輯 (
FALSE
),指示是否應生成 PNG 圖形。如果fig = FALSE
則忽略。僅在 中可用。 - 圖片:
-
邏輯(
FALSE
),指示是否應生成 JPEG 圖形。如果fig = FALSE
則忽略。僅在 中可用。 - GR設備:
-
字符 (
NULL
):請參閱“自定義圖形設備”部分。如果fig = FALSE
則忽略。僅在 中可用。 - 寬度:
-
numeric (6),以英寸為單位的數字寬度。查看具體信息'。
- 高度:
-
numeric (6),數字高度(以英寸為單位)。查看具體信息'。
- 解決:
-
數字 (300),分辨率以每英寸像素為單位:用於 PNG 和 JPEG 圖形。請注意,默認值相當高,適合高質量繪圖。像
100
這樣的東西是包插圖的更好選擇。 - 索引:
-
邏輯(
FALSE
)。編寫索引文件以將輸入行號鏈接到輸出行號。 - 僅無花果:
-
邏輯(
FALSE
)。默認情況下,每個圖形塊運行一次,然後針對每種選定的圖形類型重新運行。這將為第一個圖形塊打開默認圖形設備,並使用該設備對所有後續塊進行第一次評估。如果此選項為 true,則僅針對每種選定的圖形類型運行圖形塊,並為其打開然後關閉新的圖形設備。
此外,用戶可以在單個代碼部分的標題中或在“\SweaveOpts{}’文檔中的行。對於未知選項,其類型是在第一次使用時設置的。
定製圖形設備
如果為 fig
和 eval
都為 true 的代碼塊提供了選項 grdevice
,則進行以下調用
get(options$grdevice, envir = .GlobalEnv)(name=, width=, height=, options)
這應該打開一個圖形設備。然後評估該塊的代碼並調用dev.off
。通常,給定名稱的函數已在 Sweave 文檔中較早定義,例如
<<results=hide>>= my.Swd <- function(name, width, height, ...) grDevices::png(filename = paste(name, "png", sep = "."), width = width, height = height, res = 100, units = "in", type = "quartz", bg = "transparent") @
或者用於R>= 3.4.0,如果該函數存在於包中(而不是.GlobalEnv
) 可以通過設置來使用grdevice = "pkg::my.Swd"
(或用‘:::' 代替 '::’如果該函數未導出)。
目前每個塊隻能使用一個自定義設備,但不同的塊可以使用不同的設備。
dev.off
的替換可以作為帶有後綴 .off
的函數提供,例如分別為 my.Swd.off()
或 pkg::my.Swd.off()
。
鉤子函數
在評估每個代碼塊之前,可以執行零個或多個鉤子函數。如果設置了getOption("SweaveHooks")
,則它被視為鉤子函數的命名列表。對於代碼塊( echo
、 print
等)的每個邏輯選項,可以指定一個鉤子,當且僅當相應選項為 TRUE
時才執行該鉤子。鉤子必須是 getOption("SweaveHooks")
返回的列表的命名元素,並且是不帶參數的函數。例如,如果選項 "SweaveHooks"
定義為 list(fig = foo)
,並且 foo
是一個函數,那麽它將在每個圖形塊中的代碼之前執行。這對於設置一係列圖形塊中圖形參數的默認值特別有用。
請注意,用戶可以自由定義新的 Sweave 邏輯選項並將任意鉤子與其關聯。例如,可以為名為 clean
的新選項定義一個鉤子函數,用於刪除工作區中的所有對象。然後用 clean = TRUE
指定的所有代碼塊將開始在空工作區上運行。
作者
Friedrich Leisch and R-core
也可以看看
“Sweave User Manual”,utils
包中的小插圖。
相關用法
- R Rwin R 用於 Windows 配置
- R Rscript R 前端腳本
- R RSiteSearch 搜索文檔中的關鍵詞或短語
- R Rprof 啟用 R 執行分析
- R RShowDoc 顯示 R 手冊和其他文檔
- R REMOVE 刪除附加包
- R Rtangle Stangle 的 R 驅動程序
- R Rprofmem 啟用 R 內存使用分析
- R select.list 從列表中選擇項目
- R COMPILE 編譯用於 R 的文件
- R readRegistry 讀取 Windows 注冊表配置單元
- R browseVignettes 在 HTML 瀏覽器中列出暈影
- R hasName 檢查姓名
- R nsl 按主機名查找 IP 地址
- R edit 調用文本編輯器
- R create.post 準備電子郵件和帖子的輔助函數
- R hsearch-utils 幫助搜索實用程序
- R download.packages 從類似 CRAN 的存儲庫下載軟件包
- R DLL.version MS Windows 上的 DLL 版本信息
- R ls.str 列表對象及其結構
- R bug.report 發送錯誤報告
- R PkgUtils 用於構建和檢查附加包的實用程序
- R cite 引用參考書目條目
- R SweaveSyntConv 轉換 Sweave 語法
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 R/LaTeX Driver for Sweave。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。