我想在我闪亮的仪表板应用程序中显示一个带有LaTeX方程的Rmd文件。我在使用includeMarkdown()和includeHTML()时遇到了问题。这里是一个简化的应用程序,我正在努力实现。这是我的应用程序。
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title='My test application'),
dashboardSidebar(
sidebarMenu(
menuItem("Theory", tabName = "theory", icon = icon("book"))
)
),
dashboardBody(
tabItems(
tabItem(tabName="theory",
includeMarkdown("Theory.Rmd")
#includeMarkdown("Theory.md")
#includeHTML("Theory.html")
)
)
)
)
server <- function(input, output){
}
shinyApp(ui = ui, server = server)我的Theory.Rmd文件:
---
title: "Theory"
output:
html_document:
mathjax: "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"
---
Here is an equation:
$$Q = a(h − c)^b$$ 请注意,为了运行该应用程序,必须将Theory.Rmd和app.R保存在同一个目录(例如工作目录)中,手动必须有这些确切的名称。要获得Rmd文件的标记Theory.md文件,只需执行以下操作:
library(knitr)
knit("Theory.Rmd","Theory.md")要获得Theory.html文件,只需按Theory.Rmd文件中的针织到HTML按钮即可。
在浏览器或RStudio窗口、includeMarkdown("Theory.Rmd")或includeMarkdown("Theory.md")中运行我的应用程序时,不要呈现方程,但默认情况下,它会在理论菜单项中启动,如下所示:

然而,使用includeHTML("Theory.html")可以正确地呈现方程,但屏幕显示会缩短,默认情况下,它不会在任何菜单项中开始,如下所示:

但是当点击理论时,我得到了正确的公式:

有办法解决这个问题吗?非常感谢!
发布于 2017-01-03 11:00:27
还可以将includeMarkdown()包装在withMathJax()中,因此不需要更改.md-file:
withMathJax(includeMarkdown("Theory.md"))发布于 2015-08-27 15:45:01
对感兴趣的人来说,这个问题已经解决了。标记文件中的标头是从Rmd文件中编织的,阻止了它在这个闪亮的应用程序中呈现。在此之前,问题中显示的来自Theory.md的Theory.Rmd文件如下所示:
knit("Theory.Rmd","Theory.md")Theory.md先于
---
output:
html_document:
mathjax: "//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"
---
Here is an equation:
$$Q = a(h − c)^b$$ 我手动更改了标记文件,删除了标头并将refrerence添加到mathjax:
Theory.md在之后
<script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
Here is an equation:
$$Q = a(h − c)^b$$ 当在服务器中包含Markdown时,这会呈现如下所示:
includeMarkdown("Theory.md")https://stackoverflow.com/questions/32101134
复制相似问题