В приложении ниже есть всплывающая подсказка, содержащая математическое выражение, и мне было интересно, можно ли отобразить выражение в MathJax?
Вот приложение:
library(shiny)
library(tippy)
shinyApp(
ui = fluidPage(
tippyOutput('math')
),
server = function(input, output) {
output$math = renderTippy({
tippy("Click me!",
tooltip = HTML(as.character(withMathJax('$$\\frac{1}{\\pi\\gamma\\,\\left[1 +
\\left(\\frac{x-x_0}{\\gamma}\\right)^2\\right]}\\!$$'))))
})
}
)
Документация для tippy. js говорит, что можно включить содержимое HTML во всплывающую подсказку, но я не может заставить математическое выражение правильно отображаться.
Результатом withMathJax()
является список длиной 3: тег заголовка, строка символов, содержащая математическое выражение, и тег скрипта. Я попытался преобразовать его в односимвольную строку, заключив его в HTML(as.character(...))
, но это не сработало.
Если я визуализирую выражение MathJax самостоятельно (без подсказки) следующим образом:
output$trial = renderUI({
withMathJax('$$\\frac{1}{\\pi\\gamma\\,\\left[1 +
\\left(\\frac{x-x_0}{\\gamma}\\right)^2\\right]}\\!$$')
})
... результат выглядит так:
Но результат renderTippy
выглядит совсем иначе:
Например, отсутствуют узлы <span class="MathJax_Preview" style="color: inherit; display: none;"></span>
и <div class="MathJax_Display" style="text-align: center;">...</div>
.
Это связано с if (window.MathJax) MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
не бегать?