Принуждение TeXForm("Sqrt(x^2/(z^2+1)))") автоматически приводит к символу

У меня есть формула, которую я преобразовал в LaTeX Ryacas::TeXForm, Я не могу получить из результирующего символа, содержащего код LaTeX, не делая это вручную. Я пытался:

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

Я получил:

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

Но class(z) дает и "Sym" и "характер"

Тогда я попытался заставить его что-то вроде w<-"$\sqrt{\frac{x ^{2}}{z ^{2} + 1} }$" такой что:

 class(w)
[1] "character"

Конечно, я могу сделать это просто копированием и вставкой, но как это сделать автоматически?

1 ответ

Решение

Возможный подход через 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} }$\";"
Другие вопросы по тегам