2017-09-15 155 views
0

我有一个闪亮的文件,应该解释一些数学和计算给出一些闪亮的输入结果。在闪亮的渲染动态方程

如果我编织文档一切正常,直到我改变输入,并显示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

我改变A后或B,我得到这个

Broken Picture

任何想法如何解决这个问题或我做错了什么?

回答

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)