自动将 TeXForm("Sqrt(x^2/(z^2+1))") 结果强制转换为一个字符

Coerce TeXForm("Sqrt(x^2/(z^2+1))") result to a character automatically

我有通过 Ryacas::TeXForm 转换为 LaTeX 的公式。如果不手动完成,我无法从包含 LaTeX 代码的结果字符字符串中获取。 我试过了:

y<-"Sqrt(x^2/(z^2+1))"
Sym(y)
z<-TeXForm(y)

我得到了:

"$\sqrt{\frac{x ^{2}}{z ^{2} + 1} }$";

但是 class(z) 同时给出 "Sym" 和 "character"

然后我试着强制它变成类似 w<-"$\sqrt{\frac{x ^{2}}{z ^{2} + 1} }$" 这样:

 class(w)
[1] "character"

当然可以直接复制粘贴进去,但是怎么自动完成呢?

通过Ryacas的可能方法:

> yacas(TeXForm(y))
"$\sqrt{\frac{x ^{2}}{z ^{2} + 1} }$";

> str(yacas(TeXForm(y)))
List of 2
 $          : NULL
 $ YacasForm: chr "\"$\sqrt{\frac{x ^{2}}{z ^{2} + 1} }$\";"
 - attr(*, "class")= chr "yacas"

> str(yacas(TeXForm(y))$YacasForm)
 chr "\"$\sqrt{\frac{x ^{2}}{z ^{2} + 1} }$\";"