RMarkdown Yacas Latex

Я пытаюсь сделать компьютерную алгебру в R, используя Ryacas и RMarkdown.

Вот быстрый пример.

```{r}
library(Ryacas)
x = Sym("x")
y = Sym("y")
x0 = Sym("x0")
y0 = Sym("y0")
x1 = Sym("x1")
y1 = Sym("y1")
yacas("TeXForm(Solve( (y - y0) / (x - x0) == (y1 - y0) / (x1 - x0), y) )")
```

Как я могу получить текст с выхода R, проанализированный как LaTeX?

Редактировать:

результаты = asis сработало, но вывод обернут в одинарные, а не двойные знаки доллара. Только выражения с двойным знаком доллара, кажется, правильно разбираются (попробуйте вязать ниже).

$$ \ left (y = - \ left (\ frac {- y_ {0}} {x - x_ {0}} - \ frac {y_ {1} - y_ {0}} {x_ {1} - x_ { 0}} \ right) \ left (x - x_ {0} \ right) \ right) $$

$ \ left (y = - \ left (\ frac {- y_ {0}} {x - x_ {0}} - \ frac {y_ {1} - y_ {0}} {x_ {1} - x_ {0 }} \ right) \ left (x - x_ {0} \ right) \ right) $

2 ответа

Спасибо Батисту и Конраду Рудольфу.

```{r, results = "asis"}
library(Ryacas)
library(magrittr)
library(stringi)


print.Expr = function (x, ...) {
  answer = yacas(x, ...)
  answer$YacasForm %<>% stri_replace_all_fixed("$", "$$") %>% stri_sub(2, -3)
  print(answer)
}

print.Sym = function (x, ...) {
  answer = yacas(unclass(x), ...)
  answer$YacasForm %<>% stri_replace_all_fixed("$", "$$")  %>% stri_sub(2, -3)
  print(answer)
}

x = Sym("x")
y = Sym("y")

TeXForm(x + y)
```

Еще один вариант (который я считаю гораздо предпочтительнее):

```{python3, results = "asis"}
from sympy import *
def LaTeX(math):
  return("$$" + str(math) + "$$")
x, y = symbols("x_0, y_0")
print(LaTeX(x + y))
```
Другие вопросы по тегам