Latex 将R矩阵转换为`m<-rbind(c(";x/(z+;1)";x^2/(z+;1)";、c(";y/(z+;1)";、y^2/(z+;1)";`

Latex 将R矩阵转换为`m<-rbind(c(";x/(z+;1)";x^2/(z+;1)";、c(";y/(z+;1)";、y^2/(z+;1)";`,latex,r-markdown,symbolic-math,doc,Latex,R Markdown,Symbolic Math,Doc,我想插入R矩阵,就像m你错过的pandoc解释。例如: 在docx中渲染精细: 编辑:根据问题更新,我更清楚地了解到您希望通过Ryacas将数学公式转换为TeX,请参阅此方法。不幸的是,我无法使retclass=“unquote”参数在yacas中工作,这就是丑陋的字符串操作的原因: > pander(apply(m, c(1, 2), function(x) gsub('\\"|;| ', '', yacas(TeXForm(x))$YacasForm))) -----------

我想插入R矩阵,就像
m你错过的
pandoc
解释。例如:

docx
中渲染精细:


编辑:根据问题更新,我更清楚地了解到您希望通过
Ryacas
将数学公式转换为TeX,请参阅此方法。不幸的是,我无法使
retclass=“unquote”
参数在
yacas
中工作,这就是丑陋的字符串操作的原因:

> pander(apply(m, c(1, 2), function(x) gsub('\\"|;| ', '', yacas(TeXForm(x))$YacasForm)))

--------------- -------------------
$\frac{x}{z+1}$ $\frac{x^{2}}{z+1}$

$\frac{y}{z+1}$ $\frac{y^{2}}{z+1}$
--------------- -------------------
调用pander后的MS Word输出


这是另一种基于标记为正确答案的解决方案

library(Ryacas)
library(pander)
m<-rbind(c("x","x^2"),c("y","y^2"))
Apycs<-function(m){
library(Ryacas)
m1<-m 
for (k in 1:nrow(m)){ for (l in 1:ncol(m)){
m.2<-yacas(TeXForm(m[k,l]))[[2]]
m1[k,l]<-substr(m.2,2,nchar(m.2)-2)}}
return(m1)}
m<-Apycs(m)
pander(m)
库(Ryacas)
图书馆(潘德尔)

mI认为千“x”、“y”、“x^2”、“y^2”是矩阵中任何数学方程的最简单例子。对不起,我应该把它们弄得更复杂。想象一下,如果有更多的东西像x/(z+1),x^2/(z+1),y/(z+1),y^2/(z+1)。@AlexAlex我已经在我的答案中添加了更多的例子,但是相信我——一行就足以回答你的问题:添加美元符号并学习TeX数学语法:)好的。但它是手工制作的。问题的一部分是如何从给定的矩阵自动执行。@AlexAlex上面的标记表是从
data.frame
生成的。你说的“自动”是什么意思?如果将例如
1/2
转换为正确的TeX格式,如
\frac{1}{2}
,您可能会遇到麻烦。但请编辑问题,简要说明你真正需要什么,比如分享你拥有的矩阵;B(m);C(m),其中A()、B()和C()都是R命令,不需要注意其内容。想象一下,如果有许多类似的矩阵或一个大矩阵,那么手工操作是令人厌倦和不愉快的。
-------
 A   B 
--- ---
 x  x^2 

 y  y^2
-------
|A  |B   |
|:--|:---|
|x  |x^2 |
|y  |y^2 |
Apymtx<-function(m,f){m1<-m 
for (k in 1:nrow(m)){ for (l in 1:ncol(m)){m1[k,l]<-f(m[k,l])}}
return(m1)}
m<-Apymtx(m, TeXForm)
[,1]               [,2]                
[1,] "( TeXForm( x ) )" "( TeXForm( x^2 ) )"
[2,] "( TeXForm( y ) )" "( TeXForm( y^2 ) )"
> pander(data.frame(
+   A = c("$x^2$", "$\\frac{x}{y}$"),
+   B = c("$\\sum_{1}^{n}foobar_i$",
+         "$\\cos (2\\theta) = \\cos^2 \\theta - \\sin^2 \\theta$")))

--------------------------------------
      A                  B            
------------- ------------------------
    $x^2$      $\sum_{1}^{n}foobar_i$ 

$\frac{x}{y}$ $\cos (2\theta) = \cos^2
              \theta - \sin^2 \theta$ 
--------------------------------------
> pander(apply(m, c(1, 2), function(x) gsub('\\"|;| ', '', yacas(TeXForm(x))$YacasForm)))

--------------- -------------------
$\frac{x}{z+1}$ $\frac{x^{2}}{z+1}$

$\frac{y}{z+1}$ $\frac{y^{2}}{z+1}$
--------------- -------------------
library(Ryacas)
library(pander)
m<-rbind(c("x","x^2"),c("y","y^2"))
Apycs<-function(m){
library(Ryacas)
m1<-m 
for (k in 1:nrow(m)){ for (l in 1:ncol(m)){
m.2<-yacas(TeXForm(m[k,l]))[[2]]
m1[k,l]<-substr(m.2,2,nchar(m.2)-2)}}
return(m1)}
m<-Apycs(m)
pander(m)