2015-08-01 4 views
0

меня есть формула, что я превращал в LaTeX от Ryacas::TeXForm. Я не могу получить от результата символов жала, который содержит код LaTeX, не делая это вручную. I судимое:принуждать TeXForm ("SQRT (х^2/(г^2 + 1))") приводит к символу автоматически

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" 

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

+0

Используя правильный ответ, который я нашел это. Если запустить 'w <-yacas (z) [[2]]', то он дает правильный результат. –

ответ

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} }$\";"