【发布时间】:2015-11-13 02:03:11
【问题描述】:
我想在我闪亮的仪表板应用程序中显示一个带有 LaTeX 方程的 Rmd 文件。我在使用includeMarkdown() 和includeHTML() 时遇到了问题。这是我想要实现的简化应用程序。这是我的 app.R:
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 文件的 markdown Theory.md 文件,只需这样做:
library(knitr)
knit("Theory.Rmd","Theory.md")
要获取Theory.html 文件,只需在 Theory.Rmd 文件中按下 Knit to HTML 按钮
在我的浏览器或 RStudio 窗口中运行我的应用程序时,includeMarkdown("Theory.Rmd") 或 includeMarkdown("Theory.md"),不渲染方程,但它默认在理论菜单项中启动,如下所示:
但是使用includeHTML("Theory.html"),方程会正确渲染,但屏幕显示会缩短,默认情况下它不会在任何菜单项中启动,如下所示:
有没有办法解决这个问题?非常感谢!
【问题讨论】:
-
你的应用程序没有运行给我,你确定这个例子是可重现的吗?或者也许我错过了什么。
-
Theory.Rmd 和 app.R 必须保存在同一目录中(例如工作目录),并且必须具有这些确切的名称才能运行应用程序。我很确定这是可重现的。感谢您的宝贵时间。
-
此外,要运行应用程序,如问题中所述,您需要将 Rmd 文件编织为 html 一次以获取 Theory.html。原因是 includeHTML('Theory.html') 是没有被注释掉的那个。我将编辑我的问题并评论 includeHTML('Theory.html') 并包含 includeMarkdown('Theory.Rmd'),因此只能通过添加 app.R 和 Theory.Rmd 文件来运行。
-
未来注意事项:cdn.mathjax.org 即将结束生命周期,请查看mathjax.org/cdn-shutting-down 了解迁移提示。
标签: r shiny r-markdown shinydashboard