capture.output()
を (暗黙の) 呼び出しによって出力された行をキャプチャするために使用できますprint.xtable()
。次にgsub()
、各負の数を で囲むパターンと置換を使用して、出力に適用します\textcolor{red}{}
。最後にcat()
withを使用しsep="\n"
て、変更された行をファイルに書き出し*.tex
ます。
\documentclass{article}
\begin{document}
<<simpleExamp, results="asis", echo=FALSE>>=
library(knitr)
library(xtable)
testMatrix <- matrix(c(sample(-10:10,10)), ncol = 2)
## I added the following three lines
xt <- capture.output(xtable(testMatrix))
xt_mod <- gsub("(\\s|^)(-\\d*)", "\\1\\\\textcolor{red}{\\2}", xt)
cat(xt_mod, sep="\n")
@
\end{document}
(また、knitr が「優先」し、より迅速に処理する に置き換えたことにも注意してくださいresults=tex
。)results="asis"
編集:結果のテーブルの画像を追加します。(SO 対応の形式で取得するには、コードにいくつかの調整が必要でした。これも以下に含まれています。)
\documentclass{standalone}
\renewenvironment{table}{}{}% Ignore `table` environment in standalone mode.
\begin{document}
<<simpleExamp, results="asis", echo=FALSE>>=
library(knitr)
library(xtable)
cat("\\Huge\n\n")
testMatrix <- matrix(c(sample(-10:10,10)), ncol = 2)
## I added the following three lines
xt <- capture.output(print.xtable(xtable(testMatrix), table.placement=NULL))
xt_mod <- gsub("(\\s|^)(-\\d*)", "\\1\\\\textcolor{red}{\\2}", xt)
cat(xt_mod, sep="\n")
@
\end{document}