在 R 中闪亮的仪表板应用程序中显示 LaTeX 方程
Display LaTeX equations in a shiny dashboard app in R
我想在我闪亮的仪表板应用程序中显示一个带有 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 文件的降价 Theory.md 文件,只需执行以下操作:
library(knitr)
knit("Theory.Rmd","Theory.md")
要获取 Theory.html
文件,只需在 Theory.Rmd 文件
中按下编织到 HTML 按钮
当 运行 在我的浏览器或 RStudio window、includeMarkdown("Theory.Rmd")
或 includeMarkdown("Theory.md")
中打开我的应用程序时,不渲染方程式,但理论上它默认启动菜单项,像这样:
但是,使用 includeHTML("Theory.html")
方程可以正确呈现,但屏幕显示会缩短,默认情况下它不会在任何菜单项中启动,如下所示:
但是当点击 theory 时,我得到了正确呈现的方程式:
有办法解决这个问题吗?非常感谢!
对于感兴趣的人,这个问题已经解决了。从 Rmd 文件编制的降价文件中的 header 阻止它在 Shiny 应用程序中呈现。之前,问题中显示的 Theory.Rmd 编织的 Theory.md 文件如下所示:
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$$
我手动更改了 markdown 文件,删除了 header 并添加了对 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 时,这会在 Shiny 中呈现:
includeMarkdown("Theory.md")
也可以将 includeMarkdown()
包装在 withMathJax()
中,这样您就不需要更改 .md
文件:
withMathJax(includeMarkdown("Theory.md"))
我想在我闪亮的仪表板应用程序中显示一个带有 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 文件的降价 Theory.md 文件,只需执行以下操作:
library(knitr)
knit("Theory.Rmd","Theory.md")
要获取 Theory.html
文件,只需在 Theory.Rmd 文件
当 运行 在我的浏览器或 RStudio window、includeMarkdown("Theory.Rmd")
或 includeMarkdown("Theory.md")
中打开我的应用程序时,不渲染方程式,但理论上它默认启动菜单项,像这样:
includeHTML("Theory.html")
方程可以正确呈现,但屏幕显示会缩短,默认情况下它不会在任何菜单项中启动,如下所示:
但是当点击 theory 时,我得到了正确呈现的方程式:
有办法解决这个问题吗?非常感谢!
对于感兴趣的人,这个问题已经解决了。从 Rmd 文件编制的降价文件中的 header 阻止它在 Shiny 应用程序中呈现。之前,问题中显示的 Theory.Rmd 编织的 Theory.md 文件如下所示:
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$$
我手动更改了 markdown 文件,删除了 header 并添加了对 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 时,这会在 Shiny 中呈现:
includeMarkdown("Theory.md")
也可以将 includeMarkdown()
包装在 withMathJax()
中,这样您就不需要更改 .md
文件:
withMathJax(includeMarkdown("Theory.md"))