有沒有一種方法可以從R內將LaTeX表格直接打印到圖像文件(用於包含在另一個文檔/網頁中)。基本上,我想爲一個函數提供LaTeX代碼,將其作爲圖像保存到工作目錄中。將LaTeX表格直接打印到圖像(PNG或其他)
管夢?
有沒有一種方法可以從R內將LaTeX表格直接打印到圖像文件(用於包含在另一個文檔/網頁中)。基本上,我想爲一個函數提供LaTeX代碼,將其作爲圖像保存到工作目錄中。將LaTeX表格直接打印到圖像(PNG或其他)
管夢?
有各種LaTeX到圖像轉換器腳本,用於執行諸如將方程式轉換爲圖像以包含在網頁上的內容。
如果你可以找到其中的一個(dvipng也許?),那麼你可以從R表格到LaTeX,然後從LaTeX到png。
如果你已經dvipng,您可以利用Hmisc的乳膠的轉換來完成了一個更簡潔的功能來做到這一點:
dvipng.dvi <-
function (object, file, ...)
{
cmd <- if (missing(file))
paste("dvipng -T tight", shQuote(object$file))
else paste("dvipng -T tight", "-o", file, shQuote(object$file))
invisible(sys(cmd))
}
然後你就可以這樣做:
> tt # here is a table
y
x 1 2 3
1 9 12 11
2 18 9 10
3 10 7 14
> dvipng.dvi(dvi.latex(latex(tt)))
這將產生一個PNG文件在工作目錄中具有隨機名稱。 -T嚴格選項將裁剪掉所有的空白。
這是直接的,因爲我認爲這是可能的。
Linux或Windows或Mac或Atari?
我沒有一個很好的答案,包括使用R,但如果你絕望,我想一個'打印屏幕'和複製到Paint或其他這樣的程序,並最終保存它會至少讓你的形象以可存儲的格式。
當其他選項不可用時,我已經用這種方式創建了'一步一步'的用戶文檔。
xtable提供了輸出latex或html標記的選項。你可以直接放入html。
話雖如此,我也希望能夠直接從編織或sweave到png或svg。上週我正在努力做到這一點。我正在構建一個inkscape信息圖(svg),並一直在尋找一種方法來插入通過運行R代碼更新的表的鏈接圖像。
在最初的測試中,我結合使用xtable和Spacedman的(+1)代碼來獲得一些漂亮的png輸出(Ubuntu)。 -D選項允許控制分辨率。
我正在尋找一個dvi-> svg轉換器,這更像是我之後。 http://dvisvg.sourceforge.net/
dvipng.dvi <- function (object, file, res=600)
{
if (missing(file)){
invisible(sys(
paste("dvipng -T tight", "-D", res, shQuote(object$file)))
)
}
else{
invisible(sys(
paste("dvipng -T tight", "-D", res, "-o", file, shQuote(object$file)))
)
}
}
tt <- head(iris)
dvipng.dvi(dvi.latex(latex(xtable(tt))), file='iris.png')
隨着太空人的回答,我能夠拿出不從Hmisc
封裝latex
依靠latex
是造成了一些路徑的問題,我的解決方案:
table.png <- function(obj, name) {
first <- name
name <- paste(name,".tex",sep="")
sink(file=name)
cat('
\\documentclass{report}
\\usepackage[paperwidth=5.5in,paperheight=7in,noheadfoot,margin=0in]{geometry}
\\begin{document}\\pagestyle{empty}
')
print(xtable(obj))
cat('
\\end{document}
')
sink()
texi2dvi(file=name)
cmd <- paste("dvipng -T tight", shQuote(paste(first,".dvi",sep="")))
invisible(sys(cmd))
cleaner <- c(".tex",".aux",".log",".dvi")
invisible(file.remove(paste(first,cleaner,sep="")))
}
'不可見(sys(cmd))'應該可能是'不可見的(系統(CMD))' – mzuba 2017-08-17 08:37:41
的Windows, preferrably。 – 2012-02-15 19:32:00
那麼如果Hmisc在你的系統上工作,並且dvipng被包含在你的TeX中,那麼我的解決方案就可以工作...... – Spacedman 2012-02-15 20:10:33
我在目錄(不熟悉該格式)中看到DVI文件,但沒有PNG。 – 2012-02-15 20:36:04