我在尝试使用 Sweave 编译文件时遇到了很大的问题,该文件显示在 R 块中定义的向量,作为使用 pmatrix 的 Latex 中的列向量,我有类似这样的问题:
<<echo=FALSE>>=
B=c(1,2,3,4,5,6)
@
We have the vector $B$ defined as
$$B=\begin{pmatrix}
\Sexpr{print(paste(b,collapse='\\'),quote=FALSE}
\end{pmatrix}$$
如果我将文本折叠参数更改为没有反斜杠的任何内容,则不会出现任何问题,但我需要使用反斜杠,这样我才能将每个数字放在不同的行中。运行 Sweave 会返回此错误:
\Sexpr{print(paste(b,collapse='\\'),quote=FALSE}
The control sequence at the end of the top line
of your error message was never \def'ed.
答案1
Sweave 已经这个错误已经好几年了。希望在 R 的下一版本中能修复这个问题。针织品包裹一直与 中的反斜杠配合良好\Sexpr{}
。这是一个最小的例子:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
<<echo=FALSE>>=
b = c(1,2,3,4,5,6)
@
$$B = \begin{pmatrix}
\Sexpr{paste(b, collapse='\\\\\n')}
\end{pmatrix}$$
\end{document}
请注意,在 R 中需要四个反斜杠才能在 LaTeX 中产生两个反斜杠,但这里不需要print()
。