我使用一个条件使用Sweave显示2个不同的文本。 之后,我将显示此文本。
但是我想在第一部分中加粗一部分。
<<condition, echo=FALSE>>=
if (x > 0) {
text <- paste("text 1 start :",paste(variables, collapse = ","), ". text 1 end.")
} else {
text <- paste("text 2")
}
@
\Sexpr{text}
在这里,我的report.pdf中的实际输出是:
文本1开头:var1,var2,var3文本1结束
但是我想要:
文本1开始: var1,var2,var3 。文字1结束
答案 0 :(得分:1)
您可以单独返回数据,并使用普通的LaTeX命令,例如\Sexpr{foo} \textbf{\Sexpr{bar}} \textbf{\Sexpr{foobar}}
。
或者,您可以像这样在R中嵌入必要的LaTeX命令:
\documentclass[A4]{article}
\begin{document}
<<>>=
foo <- paste(1, 2, "\\\\textbf{", 3, "}", '4')
@
Test text with some \Sexpr{foo} with formatting.
\end{document}
记住很多必要的反斜杠。
修改:
对于编织器,代码需要进行一些修改:
\documentclass[A4]{article}
\begin{document}
<<>>=
foo <- paste(1, 2, "\\textbf{", 3, "}", '4')
@
Test text with some \Sexpr{asis_output(foo)} with formatting.
\end{document}