[英]LaTeX figure label from R plot using KnitR?
我無法讓R / KnitR為圖形創建LaTeX \\label{}
語句。 該手冊似乎表明,通過將fig.lp中的字符串(默認為“ fig:”)與R代碼塊的標簽連接起來,將創建\\label{}
語句。 但是,我無法使它正常工作。 沒有為通過編織以下MWE創建的第一個圖形創建\\label{}
語句。 第二個圖形在其標簽上添加了我剛剛發現的解決方法,將R塊放置在圖形環境中,並將\\label
標記放在\\caption
標記之后或內部。
\documentclass[12pt, english, oneside]{amsart}
\begin{document}
Figure \ref{fig:plot} doesn't have it's label.
<<plot>>=
plot(x=0, y=0)
@
Figure \ref{fig:plot2} has its label.
\begin{figure}
\caption{\label{fig:plot2}}
<<>>=
plot(x=1,y=1)
@
\end{figure}
\end{document}
好的,我找到了一種解決方法,將R塊放在\\begin{figure} . . .\\end{figure}
\\begin{figure} . . .\\end{figure}
LaTeX中的。 \\begin{figure} . . .\\end{figure}
環境。 我可以在相同的環境中創建標簽。 不過,我想了解Yihui打算如何使用KnitR處理此問題。
您需要設置fig.cap = ''
(或任何您想要的值)以確保在latex
文檔中使用了圖形環境。 (您可能已經注意到\\begin{figure} ... \\end{figure}
與\\label{}
組件一起丟失了
例如
\documentclass[12pt, english, oneside]{amsart}
\begin{document}
See Figure \ref{fig:plot}.
<<plot, fig.lp="fig:", fig.cap = ''>>=
plot(x=0, y=0)
@
\end{document}
fig.env :(“ figure”)數字的LaTeX環境,例如,將fig.env ='marginfigure'設置為\\ begin {marginfigure}
fig.cap:(NULL;字符)要在LaTeX的圖形環境中使用的圖形標題(在\\ caption {}中); 如果為NULL或NA,它將被忽略,否則將使用圖形環境用於塊中的繪圖(在\\ begin {figure}和\\ end {figure}中輸出)
盡管圖形手冊很清楚 ,而且推理合理。
圖標題
如果塊選項fig.cap不為NULL或NA,則當輸出格式為LATEX時,繪圖將放置在圖形環境中,並且該選項用於在該環境中使用\\ caption {}來編寫標題。 其他兩個相關選項是fig.scap和fig.lp,它們為圖形標簽設置了簡短標題和前綴字符串。 通過在第一句或冒號或分號處將其截斷,可以從標題中提取默認的簡短標題。 該標簽是fig.lp和塊標簽的組合。 由於圖形是浮動環境,因此在編譯TEX文檔時,它可以從塊輸出浮動到其他位置,例如頁面的頂部或底部。
如果您希望復制R
會話輸出,則不希望這些圖形脫離定義它們如何創建的代碼行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.