2012-01-16 106 views
4

我開始使用真棒knitr包,雖然我喜歡使用tikz圖形的想法,但它並不總是非常實用(耗時)。因此,我最終在舊的pdf設備和tikz之間來回切換。在兩個設備中,數學表達式通常不會以相同的方式處理;我發現最好在tikz中使用LaTeX語法,但在pdf中很難閱讀,反之亦然。翻譯陰謀乳膠

有沒有試圖提供一個框架,從一個符號無縫切換到另一個?類似於translate(x, from="plotmath", to="tex", ams=TRUE, ...)功能,可以在內部與knitr連接到正在使用的設備。人們會怎麼做呢?

+0

這個問題會在tex.stackexchange.com得到更好的答覆嗎? – richiemorrisroe 2012-01-16 12:36:56

+0

他們可能會想知道地球上有什麼'plotmath'的意思,不? – baptiste 2012-01-16 19:30:15

+0

你是否試過包'[simsalapar'](https://cran.r-project.org/web/packages/simsalapar/index.html)函數'expr2latex'? – Vilmantas 2016-02-25 15:49:26

回答

4

這聽起來很難。從plotmath到LaTeX的翻譯可能更容易,例如,替換alpha\alpha,x[i]x_{i}等,但另一種方式可能很難,因爲plotmath只是LaTeX表達式的「子集」。

如果耗時的tikz圖形生成對您而言是個問題,您可以考慮打開緩存(正如我在knitr手冊和許多其他示例文檔中所做的那樣)。一旦生成tikz圖形,下一次如果cache=TRUE將不會再生成,所以它會非常快,而且如果您還通過塊選項external=TRUE將tikz轉換爲pdf,速度會更快。

我可能不會使用tikz的唯一原因是情節太大,正如我在手冊中所解釋的。除此之外,tikz總是比我更可取。不過,這有點偏離主題。

+0

我已經使用了'cache',它在一定程度上確實有所幫助,但'ggplot2' +'tikz'的組合仍然很慢,至少第一次運行。耗時耗時,我的意思是'tikz'必然是一個非交互式設備。相反,使用相同的標籤和註釋,我可以輕鬆地在'quartz()'和'pdf()'之間切換。 – baptiste 2012-01-16 19:27:19

+0

plotmath到膠乳可能是最有用的轉換,但即使這樣處理不明顯的「bquote」,「substitute」等構造也不是那麼無關緊要。 – baptiste 2012-01-16 19:29:33

+0

是的,只有第一次運行很慢。 – 2012-01-16 19:44:06