我正在使用MathJax构建一个shiny应用程序。但是,我需要手动加载javascript,因为我需要\cancel扩展。这可以正常工作,但有一个例外。我无法让应用程序使用renderUI
shiny函数渲染MathJax。下面的代码不会显示数学,但可以正常使用通常的withMathJax()
过程。
library(shiny)
js <- "
window.MathJax = {
loader: {load: ['[tex]/cancel']},
tex: {packages: {'[+]': ['cancel']}}
};
"
out_text <- "Equation 1: $$1+1=2$$"
ui <- fluidPage(
tags$head(
tags$script(async="", src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"),
tags$script(HTML(js))
),
uiOutput("main")
)
server <- function(input, output, session) {
output$main <- renderUI({
out_text
})
}
shinyApp(ui, server)
1条答案
按热度按时间2vuwiymt1#
使用MathJax 3,必须调用
MathJax.typeset()
来刷新MathJax进程。您可以在renderUI
中的tags$script
中添加此调用: