In this example xaringan presentation, why are both the ## blank page and the leaflet map on the same slide, given I've separated them by the new-slide separator --- ?
---
title: "map test"
output:
xaringan::moon_reader:
css: ["default"]
nature:
highlightLines: true
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## blank page
content
---
leaflet page
```{r}
library(leaflet)
leaflet() %>%
addTiles()
```
---
Looks like you've got an unintended space after the new slide separator after blank content as "--- ". Remove that space and it'll be recognized as real slide separator:
---
title: "map test"
output:
xaringan::moon_reader:
css: ["default"]
nature:
highlightLines: true
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## blank page
content
---
leaflet page
```{r}
library(leaflet)
leaflet() %>%
addTiles()
```
---
In my case I'm adding mathjax/latex equations and I had:
$$
\begin{aligned} P(Y= k)=\comb{k-1}{r-1} * p^r q^{k-r}, \qquad k= r,r+1
\end{aligned}\label{pascal}\tag{5}
$$
And I had to remove the breaklines
$$\begin{aligned} P(Y= k)=\comb{k-1}{r-1} * p^r q^{k-r}, \qquad k= r,r+1
\end{aligned}\label{pascal}\tag{5}$$
and then it worked. I've that it renders mathjax better if all the code is in a single line.
Related
I am writing my PhD thesis in R Markdown and I would like to add links to one child document (Introduction) allowing the reader to jump to another child document (one of the papers).
This is my main document:
---
output:
pdf_document:
latex_engine: pdflatex
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = F)
```
```{r chapter1, child = 'child1.Rmd'}
```
\newpage
```{r chapter2, child = 'child2.Rmd'}
```
This is how I tried to link my child1 and child2:
This is my second child document. Here I want a link to [`Child document 1`](./child2.Rmd#header1).
But when I click on the "Child document 1", it jumps to the original rmd file.
TLDR: is it possible to add clickable links between different child documents??
R version 4.2.2, Ubuntu 20, rmarkdown 2.18
Hi it works the same way as internal links.
Parent document:
---
output:
pdf_document:
latex_engine: pdflatex
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = F)
```
# Parent Header
implicit internal Link to header [Parent Header]
## Child links:
This implicit links to child 1 [C1 Second header]
Here I give a explicit link to [Go to second child](#child2_header1)
\newpage
# Child 1
```{r chapter1, child = 'child1.Rmd'}
```
\newpage
# Child 2
```{r chapter2, child = 'child2.Rmd'}
```
Child 1:
---
title: "child1"
author: "Valentin Haberl"
date: "`r Sys.Date()`"
output: pdf_document
---
## I am a child document {#child1_header1}
## C1 Second header
Some more Info
Child 2.
---
title: "child2"
author: "Valentin Haberl"
date: "`r Sys.Date()`"
output: pdf_document
---
## I am a second child {#child2_header1}
Text for second child
I am trying to render a popup in an Rmd flexdashboard.
Here is my code:
---
title: "Test"
output: flexdashboard::flex_dashboard
runtime: shiny
---
```{r global, include= FALSE}
library(shinyalert)
```
```{r}
useShinyalert( )
actionButton("helpBtn", "Help")
```
```{r}
observeEvent(input$helpBtn, {
shinyalert(title = "Help Me!", text = "Please contact your instructor")})
```
The button shows up but when clicked it does not show the popup. Any ideas?
I've been having the same issue, and I don't think you can do this with shinyalert because of the need for useShinyAlert() - adding extra dependencies into Rmd documents doesn't seem to be supported very well.
A workaround is to use sendSweetAlert from the shinyWidgets package:
---
title: "Test"
output: flexdashboard::flex_dashboard
runtime: shiny
---
```{r global, include= FALSE}
library(shinyWidgets)
```
```{r}
actionButton("helpBtn", "Help")
```
```{r}
observeEvent(input$helpBtn, {
sendSweetAlert(session, title = "Help Me!", text = "Please contact your instructor")})
```
Not sure if your issue was resolved or not, but setting the rmd parameter in useShinyalert to TRUE should solve your problem.
useShinyalert(rmd = TRUE)
I am working on a project using rMarkdown and the flexdashboard package from rStudio. Everything is coming together nicely. But I would like to remove the blue title bar you see at the top of the image here.
We are dropping this html page into a window so it becomes a second title bar, which looks terrible. Is there a function in flexdashboard to remove this entire apparatus?
Here is the YAML and the first chunk you see just below the blue bar in the photograph. Any suggestion would be greatly appreciated.
---
title: New Hampshire Statewide Age Adjusted Incedence Rates of Lyme
output:
flexdashboard::flex_dashboard:
orientation: rows
---
```{r setup, include=FALSE, message=FALSE, warning=FALSE, echo=TRUE}
```
Row
-----------------------------------------------------------------------
###
```{r, aarState, message=FALSE, warning=FALSE}
library(flexdashboard)
library(rbokeh)
#load state-wide age adjusted rates
aar<-read.csv("stateAAR.csv")
figure(title=" Age Adjusted Rates by Year",width= 1500, height =600) %>%
ly_segments(year, lci*100000, year, uci*100000, data=aar, color = "#b37700", width = 1) %>%
ly_points(year, adj.rate*100000, glyph = 21, size=6, data = aar, hover= "<strong>Rate per 100,000:</strong> #rateHundThou </br> <strong>Upper Confidence:</strong> #uciHT </br><strong> Lower Confidence:</strong> #lciHT " , color="#666622" )%>%
x_axis(label ='Year')%>%
y_axis(label ='Age Adjusted Rate')
```
Row
You can just add CSS styling directly to your markdown document (no JQuery required):
---
title: "Untitled"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
---
<style>
body {
padding-top:0px
}
.navbar{
visibility: hidden
}
</style>
```{r setup, include=FALSE}
library(flexdashboard)
```
Column {data-width=650}
-----------------------------------------------------------------------
### Chart A
```{r}
hist(iris$Sepal.Length)
```
Column {data-width=350}
-----------------------------------------------------------------------
### Chart B
```{r}
hist(iris$Sepal.Width)
```
### Chart C
```{r}
hist(iris$Petal.Length)
```
Results in:
I am not aware of any flexdashboard option. But you could use jQuery to remove the navbar and move the body up. Just include the following snippet right after your YAML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('.navbar').remove();
$('body').css('padding-top', '0px');
});
</script>
I think this leaves the main navigation bar of the parent document untouched. If not it might need some lsight modification.
---
title: "Untitled"
output: html_document
---
```{r setup, include=FALSE}
library(DT)
xsx = function(){
print(getOption("viewer"))
print(datatable(data.frame(d =1)))
1
}
xsx()
```
Inside xsx() function, DT widgets will not be rendered in HTML result. How can I get widgets print inside a function?
If I have the MWE:
---
title: "Example"
output:
pdf_document:
fig_caption: yes
---
Text text text
```{r fig.cap="Figure 1. Some random numbers",eval=FALSE}
summary(cars)
```
then I do not get a caption. But if I do:
---
title: "Example"
output:
pdf_document:
fig_caption: yes
---
Text text text
```{r fig.cap="Figure 1. Some random numbers"}
summary(cars)
```
i.e. remove eval=FALSE then the caption no longer loads.
why I wish to do this?
I want to put example bits of code into my document. the code won't actually work, hence why I want to supress it. Something like
---
title: "Example"
output:
pdf_document:
fig_caption: yes
---
Text text text
```{r fig.cap="Figure 1. Some random numbers",eval=FALSE}
for (i in 1:length(c){
#do something
}
```
where I am merely demonstrating a for loop, but not actually running the code.
As far as I know, knitr doesn't support captions for code by default. The easiest way to label your code blocks would be to add an explanation below the box in the markdown.
If you must have captions in the r code, you can use chunk hooks. Here's an example for your case:
---
title: "Example"
output:
pdf_document:
fig_caption: yes
---
```{r}
library(knitr)
knit_hooks$set(wrapper = function(before, options, envir) {
if (!before) {
sprintf(options$comment)
}
})
```
```{r comment="Figure 1. Some random numbers",wrapper=TRUE,eval=FALSE}
for (i in 1:length(c){
#do something
}
```
We have defined a hook (wrapper), where if we call wrapper=TRUE in any chunk options, the comment argument is printed below.