如何在Pandoc中配合Reveal.js正确使用.r-stretch类处理图片?
解决Pandoc配合Reveal.js使用.r-stretch类的问题
你的核心问题在于没有指定Pandoc输出为Reveal.js格式,默认的HTML转换不会触发Reveal.js专属的r-stretch处理逻辑。以下是可行的解决方案:
1. 基础正确用法(无图片标题)
确保使用-t revealjs参数生成幻灯片,同时使用无标题的图片写法(空的[]),让图片单独占一个段落:
# Test-Title {.r-stretch}
执行命令:
pandoc -i test.md -o test.html -t revealjs
生成的HTML会直接输出不带容器的img标签:
<h1 id="test-title">Test-Title</h1> <img class="r-stretch" src="image.jpg" />
2. 带alt文本的处理方案
如果需要保留图片的alt文本,又不想被<figure>或<p>包裹,直接使用Raw HTML写法即可:
# Test-Title <img class="r-stretch" src="image.jpg" alt="A funny image" />
Pandoc会直接保留这段HTML代码,完全匹配Reveal.js官方示例的结构。
为什么之前的写法失败?
你之前的命令pandoc -i test.md -o test.html没有指定输出格式,Pandoc默认生成普通HTML文档,不会识别r-stretch类对应的Reveal.js特殊规则,因此会按普通图片逻辑生成<figure>或<p>容器。只有指定-t revealjs后,Pandoc才会启用针对Reveal.js的转换逻辑,对单独段落中带r-stretch类的无标题图片省略容器。
内容的提问来源于stack exchange,提问作者Joshua Muheim
相关产品推荐
相关产品推荐

