Diapositivas de nivel 1 y nivel 2 en reveal.js usando pandoc
(4)
Actualizar
A partir de pandoc 2.7 :
Cambio en el comportamiento de los formatos de presentación de diapositivas: el contenido bajo encabezados menor que el nivel de diapositiva ya no se ignora, pero se incluye en la diapositiva de título (para presentaciones de diapositivas HTML) o en una diapositiva después de la diapositiva de título (para beamer). Este cambio hace posible las presentaciones de diapositivas deVEL.js en 2D con contenido en la diapositiva superior de cada pila (# 4317, # 5237).
(énfasis añadido). Aún no lo he probado.
Respuesta anterior
Esto me funciona con la versión actual de pandoc.
# That presentation
## dummy slide
<!--javascript to remove dummy slide-->
<script>
document.getElementById("dummy-slide").remove();
</script>
<!--end dummy slide-->
</section>
<section>
<section class="titleslide slide level1">
<h1>Head 1<h1>
Head text 1
<!-- dummy-slide creates it''s section end tag -->
<!-- </section> -->
## Below 1
text below 1
## Below 2
text below 2
</section>
<!-- need extra end tag before next section -->
</section>
<section class="titleslide slide level1">
<h1>Head 2<h1>
Head text 1
</section>
# Head 3
Esto elimina un poco la idea de reducción y puede que no funcione con algunas versiones anteriores o posteriores de Pandoc. A pesar de que todavía me resulta útil cuando se trabaja con Rmarkdown. Lo anterior se produce con
---
title: "That presentation"
output:
revealjs::revealjs_presentation:
keep_md: TRUE
---
## dummy slide
<!--javascript to remove dummy slide-->
<script>
document.getElementById("dummy-slide").remove();
</script>
<!--end dummy slide-->
</section>
<section>
<section class="titleslide slide level1">
<h1>Head 1<h1>
Head text 1
<!-- dummy-slide creates it''s section end tag -->
<!-- </section> -->
## Below 1
text below 1
## Below 2
text below 2
</section>
<!-- need extra end tag before next section -->
</section>
<section class="titleslide slide level1">
<h1>Head 2<h1>
Head text 1
</section>
# Head 3
Estoy generando una presentación de diapositivas en markdown para ser convertida por pandoc en html (con pandoc -s -S -t revealjs test.md -o test.html
).
El marco reveal.js permite una configuración 2D: agrupación de diapositivas dentro de subconjuntos de diapositivas "verticalmente", y agrupación de los subconjuntos de diapositivas horizontalmente. En markdown, se puede lograr así:
# Head1
## Below 1
text below 1
## Below 2
text below 2
# Head 2
Esto genera la salida esperada. El resultado tiene cuatro diapositivas, dispuestas de la siguiente manera:
[ Head 1 ] [ Head 2 ]
[ Below 1 ]
[ Below 2 ]
Sin embargo, me gustaría tener más contenido en la diapositiva "Cabeza 1". Esto es posible en reveal.js, pero pandoc no procesa correctamente la siguiente rebaja:
# Head1
Head text 1
## Below 1
text below 1
## Below 2
text below 2
# Head 2
Debido a que el nivel de diapositiva se convierte en 1 en lugar de 2, en lugar de cuatro diapositivas, obtengo dos (una para cada encabezado de nivel 1). Puedo forzar que el nivel de la diapositiva sea 2 usando una opción para pandoc:
pandoc -s -S -t revealjs test.md -o test.html --slide-level 2
pero luego vuelvo a tener el primer acuerdo, perdiendo el contenido que estaba directamente debajo de "Head 1".
¿Alguna idea?
Aquí se proporciona una solución alternativa ( https://github.com/rstudio/revealjs/issues/40 ) que sugiere lo siguiente (funciona bien para mí):
---
title : Title
date : Dec 22, 2016
output :
revealjs::revealjs_presentation
---
<section class="titleslide level1">
<h1>TOP SLIDE</h1>
Some blabla
## SUBSLIDE
Some sub-blabla
</section>
# Next section slide
## Next subslide
Text as per standard layout
Si desea anidar diapositivas en el nivel 2, no puede colocar contenido bajo un encabezado de nivel 1. Esta limitation es por diseño. Según el desarrollador John MacFarlane, a partir de junio de 2015 :
Pandoc tiene un método para dividir el contenido en diapositivas (descrito en la Guía del usuario) que funciona de la misma manera para todos los formatos de diapositivas, por lo que puede usar la misma fuente para reveal.js y beamer. Eso es lo que motivó el sistema actual, aunque estoy abierto a una mejor manera, siempre y cuando funcione de manera uniforme en todos los formatos.
Necesitas un héroe con un parche.
Si te entendí correctamente, lo siguiente debería hacer el truco:
# Head1
---
Head text 1
## Below 1
text below 1
## Below 2
text below 2
# Head 2
Compila con el primer comando que mencionaste:
pandoc -s -S -t revealjs test.md -o test.html