.Rtex 或 .Rnw 副檔名儲存,否則程式碼將無法運作。我們來看一個範例:

knitr 範例
如您所見,位於字元 <<>>= 與 @ 之間的文字就是 R 程式碼。這段程式碼及其輸出會以類似程式碼清單的格式印出。這段程式碼可以接受一些額外參數,以自訂動態輸出,詳見下一節。
程式碼區塊(Chunk)
像上一節所示的程式碼區塊,通常稱為 chunk。您可以在 knitr chunk 中設定一些額外選項。請看以下範例:
knitr 範例
在 << 與 >> 之間傳入了兩個額外選項。
-
echo=FALSE:隱藏程式碼,只印出 R 產生的輸出。 -
cache=TRUE:若將 cache 設為 true,則不會執行該 chunk,只會使用它先前產生的物件。若該 chunk 中的資料沒有變更,這能節省時間。請注意,Overleaf 目前不支援 cache=TRUE 選項,但在本機上應可正常運作。
行內指令
您可以存取 chunk 中產生的物件,並將其以行內方式印出。
knitr 範例
指令 \Sexpr{mean(X)} 會印出 R 程式碼 mean(X) 所回傳的結果。大括號內可以傳入任何 R 指令。
圖表
您也可以在 knitr 文件中加入圖表,如下例所示:
knitr 範例
這個直方圖使用儲存在目前工作目錄中「data.txt」的資料。chunk 中傳入了幾個與圖形相關的選項。
plot1:這是用來參照圖表的標籤。前綴「fig:」是必要的。您可以在範例中看到,圖表是以 \ref{fig:plot1} 參照的。fig.pos="t":位置參數,與 figure 環境中使用的相同。fig.height=4, fig.width=4:圖形的寬度與高度。fig.cap="First plot":圖形的標題。
外部 R 腳本
您可以將外部 R 腳本的部分內容匯入 knitr 文件。這非常實用,因為在將腳本納入文件之前,先在外部程式中撰寫並除錯是相當常見的做法。 假設我們在名為mycode.R 的檔案中有以下 R 程式碼,並要將它納入 LaTeX 文件:

read_chunk("mycode.R") 匯入腳本,這就是設定 echo=FALSE 選項的原因。此外,腳本不可被快取。匯入腳本後,您就可以使用在 ## ---- 之後設定的標籤來印出某個 chunk,在此例中為 myrcode2。
我們已將本文所有的程式碼片段放入一個專案中,您可以在 Overleaf 上開啟。
參考指南
部分 chunk 選項:results:變更 R 程式碼所產生結果的呈現方式。可能的值有:markup:使用 LaTeX 格式化輸出。asis:印出 R 的原始結果。hold:保留輸出結果,並將其移至 chunk 的結尾。hide:隱藏結果。
echo:是否納入 R 原始碼。其他參數包括:echo=2:3只印出第二與第三行;echo=-2:-3只排除第二與第三行。
cache:是否快取該程式碼 chunk。可能的值為:TRUE與FALSEhighlight:是否對原始碼進行語法醒目提示。可能的值為:TRUE與FALSEbackground:chunk 的背景顏色,可使用 rgb 與 HTML 格式。預設值為 “#F7F7F7”。

