3

我有以下 RYacas 表达式:

longrun_cost <- (c * mu) + h * ( lambda / (mu-lambda))

这个的latex表达式如下:

fmt <- sprintf("TeXForm(%s)", longrun_cost)
yacas(fmt, retclass = "unquote")


$c \mu  + \frac{h \lambda }{\mu  - \lambda } $

我希望能够以 knitr 可以理解的格式编写此方程式,但唯一的解决方案是将乳胶表达式复制到 knitr 为

$$c \mu  + \frac{h \lambda }{\mu  - \lambda } $$

当我组成​​一个 R 块时

```{r}
longrun_cost <- (c * mu) + h * ( lambda / (mu-lambda))
fmt <- sprintf("TeXForm(%s)", longrun_cost)
yacas(fmt, retclass = "unquote")

```

这没用。有任何想法吗?非常感谢!

4

1 回答 1

2

这里的挑战是处理字符串和引号。考虑以下.Rmd文件

---
title: "Ryacas \\LaTeX\\ Expression in Knitr"
output: pdf_document()
---

```{r, include = FALSE}
knitr::opts_chunk$set(collapse = TRUE)
```


Set up chunk:
```{r} 
library(Ryacas)
longrun_cost <- expression((c * mu) + h * ( lambda / (mu-lambda)))
fmt <- sprintf("TeXForm(%s)", longrun_cost)
eqn_string <- sprintf("$%s$", yacas(fmt, retclass = "unquote"))
```

The next few chunks will show the different ways that the Ryacas expression
can be rendered.

# Chunk 1
A chunk with `results = "markup"`.
```{r}
eqn_string
```

# Chunk 2
A chunk with `results = "asis"`.
```{r, results = "asis"}
cat(eqn_string)
```

```{r}
print(sessionInfo(), local = FALSE)
```

产生以下输出:

在此处输入图像描述

于 2018-06-05T21:10:40.677 回答