R带有mathjax的光泽:如何避免括号自动置于数学模式下?

问题描述 投票:0回答:1

我有一个使用MathJax的闪亮应用程序。在我的普通文本中,MathJax自动将括号中的文本转换为数学模式。哪种设置可以让我摆脱数学模式的困扰,例如括号?

在MWE中,第一个Hello!应该已经打印为(Hello!),而不是数学模式。怎么做?

MWE:

library(shiny)

server <- shinyServer(function(input, output) {
 })

ui <- shinyUI(fluidPage( 
  withMathJax(),
  tags$div(HTML("<script type='text/x-mathjax-config'>
                MathJax.Hub.Config({
                tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
                });
                </script>
                ")),

  titlePanel("Minimal application"),
    sidebarLayout(  
    sidebarPanel( 
      fluidRow(h4("(Hello!)"))),
    mainPanel(
      fluidRow(h4("Hello!")))
    )
   ))

shinyApp(ui=ui, server=server)
r shiny mathjax
1个回答
0
投票

解决方案1

最简单的解决方法是删除脚本中的['\\(','\\)']。这告诉数学引擎,“(”和“)”之间的将被视为数学模式。如果要使用数学模式,仍可以使用“ $ xxx $”。

library(shiny)

server <- shinyServer(function(input, output) {
})

ui <- shinyUI(fluidPage( 
    withMathJax(),
    tags$div(HTML("<script type='text/x-mathjax-config'>
                MathJax.Hub.Config({
                tex2jax: {inlineMath: [['$','$']]}
                });
                </script>
                ")),

    titlePanel("Minimal application"),
    sidebarLayout(  
        sidebarPanel( 
            fluidRow(h4("(Hello!)"))),
        mainPanel(
            fluidRow(h4("Hello!")))
    )
))

shinyApp(ui=ui, server=server)

解决方案2

使用<span class='tex2jax_ignore'>直接在HTML中转义“()”。将此替换为h4

fluidRow(HTML("<h4><span class='tex2jax_ignore'>(Hello!)</span></h4>"))),
© www.soinside.com 2019 - 2024. All rights reserved.