用闪亮的方法渲染动态方程

时间:2017-09-15 11:01:28

标签: r shiny mathjax

我有一个闪亮的文档,应该解释一些数学并计算结果给出一些闪亮的输入。

如果我编织文档一切正常,直到我更改输入并显示mathjax / latex代码而不是正确的渲染方程式。

最小的工作示例是(test.Rmd

---
output: html_document
runtime: shiny
---

```{r,,echo=F}
library(shiny)
```

```{r,echo=F}
numericInput("a", "A", value = 100, min = 0, max = 10000)
numericInput("b", "B", value = 120, min = 0, max = 10000)
a <- reactive(input$a)
b <- reactive(input$b)

renderText(withMathJax({
  formula <- "$$
\\begin{split}
A &= %.0f \\\\
B &= %.0f 
\\end{split}
$$"
  text <- sprintf(formula, a(), b())

  return(text)
}))
```

我期望看到的是这(我在更改输入之前得到的)

Correct Picture

我改变AB后,我得到了这个

Broken Picture

关于如何解决这个或我做错了什么的想法?

2 个答案:

答案 0 :(得分:1)

这是一个工作示例。 确保在浏览器上看到这一点。

library(shiny)

ui <- list(
  numericInput("a", "A", value = 100, min = 0, max = 10000),
  numericInput("b", "B", value = 120, min = 0, max = 10000),
  uiOutput('out')
)

server <- function(input, output) 
{
  a <- reactive(input$a)
  b <- reactive(input$b)
  output$out <- renderUI({
    formula <- "$$
      \\begin{split}
      A &= %.0f \\\\
      B &= %.0f 
      \\end{split}
      $$"
    text <- sprintf(formula, a(), b())
    withMathJax(  
      tags$p(text)
    )
  })
}

shinyApp(ui, server)

答案 1 :(得分:1)

有点晚了,但我只是想出了一个适用于 RMarkdown 的解决方案:


输出:html_document 运行时:闪亮

new int
library(shiny)