You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please, would you consider adding support for numbered equations & cross-reference?
I was surprised Xaringan didn't have it natively since it is an indispensable feature in many fields.
That would be a great contribution to the package in my opinion.
If so, below I'm sharing my thoughts about the feature while also highlighting some math rendering issues I found:
I believe there are 2 important compatibilities the API should have: bookdown and plain Latex.
The bookdown package introduced cross-reference capabilities to R Markdown and it would be really desirable the syntax used by it to be accepted in xaringan too. Here is a MWE:
---
title: "Bookdown HTML Article - Cross-Reference"
output:
bookdown::html_document2:
toc: true
toc_depth: 5
number_sections: true
toc_collapsed: false
toc_float:
collapsed: false
smooth_scroll: false
anchor_sections: TRUE
---
# Equations Label & Cross-Reference
## Single Equation
- Unlabeled equation
$$\int\limits_a^b f(x)dx = \frac{F(x)}{\frac{\binom{n}{n}}{\binom{k}{k}}} \Biggr|^b_a = F(b)-F(a)$$
- Labeled equation
$$
\mathrm{cov}(\epsilon_s, \epsilon_t) =
\left\lbrace
\begin{align}
& \sigma^2 \quad \mathrm{if} \; s = t \\
& 0 \quad \mathrm{else} \\
\end{align}
\right.
(\#eq:eqname0)
$$
- See equation \@ref(eq:eqname0) above.
## Block of Equations
- Labeled system of equations
$$
\begin{align}
\left( \sum_{i=1}^{n}{i} \right)^2 &= \left( \frac{n(n-1)}{2}\right)^2 = \frac{n^2(n-1)^2}{4} (\#eq:eqname1) \\
\frac{\partial f}{\partial x}(x=3) &= y^2 \\
y &= \frac{(x-\mu)}{(max-min)} \\
\end{align}
$$
- See system of equations \@ref(eq:eqname1) above.
# Tables Caption & Cross-Reference
## kable() Table
`Bookdown` default table caption only works with `kable()`
See table \@ref(tab:tables-mtcars)
```{r tables-mtcars}
knitr::kable(iris[1:5, ], caption = 'A caption', longtable=TRUE)
```
## Custom Tables
See Table \@ref(tab:mytab).
Table: (\#tab:mytab) Your table caption.
| Sepal.Length| Sepal.Width| Petal.Length|
|------------:|-----------:|------------:|
| 5.1| 3.5| 1.4|
| 5.2| 3.6| 1.5|
# Figures Caption & Cross-Reference
## Plot
See figure \@ref(fig:car)
```{r "car", fig.cap = 'Title of the plot', fig.fullwidth=TRUE}
plot(cars)
```
## Image
See figure \@ref(fig:myfig)
```{r "myfig", fig.cap = 'Title of the plot', fig.fullwidth=TRUE}
knitr::include_graphics("www/myfigure1.png")
```
It should also ideally allow the standard Latex API for cross-referencing. As a matter of fact, this repository already did that as explained here.
However, its cross-reference system just works for equations and not for tables and figures.
Here is a MWE:
---
title: "Xaringan Cross-Reference"
output:
xaringan::moon_reader:
self_contained: false
css: [default, metropolis, metropolis-fonts]
# css: [default, shinobi, metropolis-fonts] # custom themes
lib_dir: libs
nature:
highlightStyle: arta
highlightLines: true
countIncrementalSlides: false
includes:
# this allows equation numbering:
in_header: "www/mathjax-equation-numbers.html"
editor_options:
chunk_output_type: console
---
```{r include=FALSE }
## Global Chunk settings ----
knitr::opts_chunk$set(warning=FALSE, message=FALSE)
```
# ___ Equations Label & Cross-Reference ___
---
# Single Equation
- Unlabeled equation
$$\int\limits_a^b f(x)dx = \frac{F(x)}{\frac{\binom{n}{n}}{\binom{k}{k}}} \Biggr|^b_a = F(b)-F(a)$$
- NOTE: `xaringan` renders (n n)/ (k k) denominator too small (considerably smaller than `ioslides` for example). Is there a way to correct that?
- Labeled equation
$$
\mathrm{cov}(\epsilon_s, \epsilon_t) =
\left\lbrace
\begin{align}
& \sigma^2 \quad \mathrm{if} \; s = t \nonumber\\
& 0 \quad \mathrm{else} \label{eq:eqname0} \\
\end{align}
\right.
$$
- NOTE: `xaringan` does not render equation \eqref{eq:eqname0} above correctly and also the equation number is not displayed.
---
# A Single Equation that works
- Labeled Equation
$$
\begin{align}
y = \frac{(x-\mu)}{(max-min)} \label{eq:eqnameY} \\
\end{align}
$$
- See equation \eqref{eq:eqnameY} above.
---
# Block of Equations
NOTE: these sometimes render correctly and label/cross-reference works and sometimes they don't, I have no idea why.
- Labeled system of equations
$$
\begin{align}
\left( \sum_{i=1}^{n}{i} \right)^2 &= \left( \frac{n(n-1)}{2}\right)^2 = \frac{n^2(n-1)^2}{4} \nonumber \\
\frac{\partial f}{\partial x}(x=3) &= y^2 \label{eq:eqname1} \\
y &= \frac{(x-\mu)}{(max-min)} \nonumber \\
\end{align}
$$
- See system of equations \eqref{eq:eqname1} above.
- See system of equations \ref{eq:eqname1} above.
---
# ___ Tables Caption & Cross-Reference ___
---
# kable() Table
`Bookdown` default table caption only works with `kable()`
See table \ref{tab:tables-mtcars}
```{r tables-mtcars}
knitr::kable(iris[1:5, ], caption = 'A caption', longtable=TRUE)
```
---
# Latex Tables
- This works in LaTeX and ideally should work in `xaringan` too
See table \ref{tab:my-tab1} below.
\begin{table}[htbp!]
\centering
\caption{\label{tab:my-tab1} Caption}
\begin{tabular}{ccccc}
1 & 2 & 3 & 4 & 5 \\
6 & 7 & 8 & 9 & 10 \\
\end{tabular}
\end{table}
---
# ___ Figures Caption & Cross-Reference ___
---
# Image
- This works in LaTeX and ideally should work in `xaringan` too
See Figure \ref{fig:image1} below:
\begin{figure}[h!]
\includegraphics[scale=0.5]{www/myfigure1.png}
\caption{Figure Title}\label{fig:image1}
\end{figure}
Where the file mathjax-equation-numbers.html content is:
We can see in attached PDF with the output below that many things failed, either by xaringan's math rendering issues or by the limitation of in_header: "www/mathjax-equation-numbers.html" solution. Xaringan.Cross-Reference.pdf
It would be really great if xaringan could solve those issues and also avoid the necessity to declare external files in YAML metadata.
Thank you
The text was updated successfully, but these errors were encountered:
Hey @yihui , how are you?
Please, would you consider adding support for numbered equations & cross-reference?
I was surprised Xaringan didn't have it natively since it is an indispensable feature in many fields.
That would be a great contribution to the package in my opinion.
If so, below I'm sharing my thoughts about the feature while also highlighting some math rendering issues I found:
I believe there are 2 important compatibilities the API should have:
bookdown
and plainLatex
.The
bookdown
package introduced cross-reference capabilities toR Markdown
and it would be really desirable the syntax used by it to be accepted inxaringan
too. Here is a MWE:See attached PDF with the output:
Bookdown.HTML.Article.-.Cross-Reference.pdf
It should also ideally allow the standard Latex API for cross-referencing. As a matter of fact, this repository already did that as explained here.
However, its cross-reference system just works for equations and not for tables and figures.
Here is a MWE:
Where the file
mathjax-equation-numbers.html
content is:We can see in attached PDF with the output below that many things failed, either by
xaringan
's math rendering issues or by the limitation ofin_header: "www/mathjax-equation-numbers.html"
solution.Xaringan.Cross-Reference.pdf
It would be really great if
xaringan
could solve those issues and also avoid the necessity to declare external files in YAML metadata.Thank you
The text was updated successfully, but these errors were encountered: