我開始學習R和Sweave,並花了最近幾個小時試圖找出一個問題,根據我的Google-fu,似乎是相當陌生或不常見的(就像我發現只有兩個引用問題)。重複使用的代碼塊中的空白
也就是說,當在Sweave中重新使用代碼塊時,看起來你是not allowed any preceding whitespace。例如:
\documentclass{article}
\begin{document}
<<label=fig1boxplot, include=FALSE>>=
boxplot(mpg~cyl,data=mtcars)
@
\begin{figure}
\centering
<<label=fig1, fig=TRUE, echo=FALSE>>=
<<fig1boxplot>>
@
\end{figure}
\end{document}
如預期如果存在與<<
(誤差取決於哪一行是縮進)開始的任何行的前面的任何空白將不起作用。我發現了一個work-around將R開發者郵件列表,讓我縮進,其中塊被重用行(<<figboxplot>>
),但仍沒有任何其他塊(<<label=...
)
- 爲什麼Sweave不允許有重複使用代碼的白色空間大塊,特別是因爲解決方法似乎實際上很微不足道?
- 我該如何解決這個問題並按照我喜歡的方式縮進塊(或任何Sweave代碼)?
要說清楚,你只是問爲什麼Sweave解析器按照它的方式工作? – joran
實際上,現在我已經嘗試瞭解決方法,它只解決了縮進<<>行的問題,但是縮進了表示塊開始的任何行('<< label = ...')仍然會導致錯誤或輸出錯誤。由於目前還沒有答案,所以我增加了如何解決這個問題的一般問題。 –
ThomasH