全部版块 我的主页
› 论坛 › 计量经济学与统计论坛 五区 › 计量经济学与统计软件
147 1
2026-11-13

一份 6.7 MB 的压缩包,62 个文件,做的事很小:把学术报告的每一页写成一个 Markdown 文件,用 Jekyll 加 Reveal.js 渲染成网页幻灯片,再给出四条命令,分别用来清理没用上的图片、导出 PDF、生成二维码、打包到 Zenodo 换一个 DOI。附带一份 20 页的示例 PDF,可以直接看成品长什么样。

 

材料在 Zenodo,记录号 23011567,DOI 10.5281/zenodo.23011567,2026 年 9 月 28 日发布,许可 CC BY 4.0。作者两位:Alexander Dunkel(莱布尼茨生态城市与区域发展研究所 IOER)与 Marc Lchner(德累斯顿工业大学)。两个文件,presentation.pdf 9,344,299 字节、20 页,academic_presentation_framework_complete.zip 6,741,205 字节。

 

62 个文件都在哪

 

位置内容文件数
_posts/12 个 Markdown 幻灯片,从欢迎页到结束页,覆盖分页、片段、纵向页、背景图、备注、代码、图片、动画、嵌入页等写法12
theme/主题 gem:目录结构、样式、Font Awesome 图标、布局与四个脚本34
assets/ images/示例媒体:一段聚类动画的 mp4 与 webm、一张 webp 图、一张 jpg、已生成的二维码8
根目录_config.yml、Gemfile、abstract.md、cite.bib、index.html、README.md、.gitlab-ci.yml8

 

theme/scripts/ 里是四个 Python 脚本加一个 shell 脚本:audit_presentation.py(1,520 字节,发布前自检配置、二维码、摘要、BibTeX、PDF 是否齐全)、prune_assets.py(5,755 字节,扫描 Markdown 与样式里引用过的媒体,找出没被引用的文件)、export_decktape_pdf.py(5,911 字节,调 Docker 里的无头 Chromium 导出 PDF)、generate_qrcode.sh(1,878 字节)、zenodo_release.py(16,944 字节,打包并生成 Zenodo 草稿)。theme/exe/slides(1,243 字节)是统一入口,把这几个命令挂到 bundle exec slides 下面。

 

装起来要什么

 

Ruby 3 以上、Bundler;主题 gem 不发布在 RubyGems,Gemfile 里用 git 源指向 gitlab.hrz.tu-chemnitz.de 上的仓库;PDF 导出要本机有 Docker;打 DOI 要一个 Zenodo 的 API token。前三条缺一条,就只能改 Markdown 看网页版,导不出 PDF。

 

这一步是最容易卡住的地方:gem 从机构自己的 GitLab 拉,外部账号未必有读权限。拿到包先 bundle install,能过再谈后面四条命令;过不去就得自己把 theme/ 当成主题源码揉进项目,或者干脆只用它的 Markdown 写法,渲染交给别的工具。

 

一页幻灯片就是一个文件

 

_posts/ 里的文件名必须带日期前缀,比如 0001-01-01-welcome.md、0006-01-01-notes.md。Jekyll 按文件名字母序出页,所以顺序由文件名决定,日期本身没有意义。示例 PDF 第 2 页专门写了这件事:日期段(0001-01-01)是博客系统留下的强制格式,好处是以后要在中间插页,写个 0002-02-01 就插进去了,不用重命名后面所有文件。

 

页内语法都是行内的:三个连字符另起一页;两个连字符开一个纵向子页,用下方向键进入;列表项前加加号或写片段标签就做逐条出现;背景色、背景图、背景嵌入页各有一个专用标签;写 Note: 之后的内容只出现在演讲者视图里;给页一个 id,就能用锚点直接跳过去。演讲者视图按 S 打开,示例里写的是跨浏览器同步,投影放全屏、笔记本放备注,两块屏就够用了。

 

四条命令各管一件事

 

  • bundle exec slides prune:列出没被引用的图片与视频,加 --move 挪到 _unused_assets/(已进 gitignore),加 --delete 才真删。它扫描 images 与 assets 两个目录,对 assets/fonts、assets/vendor、main.css 等设了保护名单。
  • bundle exec slides pdf:从线上地址导出,默认加载后等 3 秒、翻页间等 5.5 秒,遇上嵌入页多的可以加 --pause 7000;加 --local 则对着本地 Jekyll 服务导出。
  • bundle exec slides qrcode:按 _config.yml 里的地址生成二维码,底色与幻灯片背景同色(#232323),存到 images/qr.png。
  • bundle exec slides zenodo:把 PDF 与源码打包,abstract.md 转成 Zenodo 要求的 HTML,填好元数据后建一个草稿,挂在 IOER 社区下。

 

audit 是第五个隐含命令,跑一遍会打印配置、基础路径、DOI、二维码、摘要、BibTeX、PDF 七项的检查结果,最后把上面四条按顺序再提示一遍。

 

那 20 页示例里能看到什么

 

第 1 页标题页带背景图与署名行,页脚固定三个德文链接(Impressum、Datenschutz、Barrierefreiheit)加页码;第 2 页讲文件与排序;中间几页依次演示分页、逐条出现、纵向页、背景图、备注、代码块、图片、动画、嵌入页;最后两页是结束页与联系方式,并留了 DOI 占位符(10.5281/zenodo.XXXXXXX)。这套结构按会议报告的节奏排,一页一个意思,没有花哨转场。

 

什么情况下不划算

 

如果一年只做一两次汇报,这套东西不划算:装 Ruby、拉 gem、配 Docker 的时间超过做 PPT。它的价值在另一种场景——同一份报告一年要讲五六次,每次都要改数字、换图、留一版归档;或者报告本身要能被人引用。那种情况下,源码在 git 里、PDF 一键出、DOI 自动申请,省下的是版本管理的力气。

 

还有一处要留意:README 里列了 slides zenodo,主题说明只列了 prune、pdf、qrcode、audit 四条,脚本目录里确实有 zenodo_release.py。条目对不齐属于文档没跟上,不影响用,但照着主题说明读会以为没有这个功能。

 

能转载到什么程度

 

记录页与包内说明都指向 CC BY 4.0,可复制、再分发、改编(含商用),条件是署名、给许可链接、标明改动。引用时写作者、标题、年份与 DOI:Dunkel, Alexander; Lchner, Marc (2026). Reproducible Academic Presentation Template (Jekyll, Reveal.js & Zenodo Toolchain). Zenodo,DOI 10.5281/zenodo.23011567。

 

────────────────

包内 62 个文件的逐项清单、依赖版本、四条命令的写法与记录页入口都在下面,回复就能看到。


游客,如果您要查看本帖隐藏内容请回复

把经管之家装进你常用的 AI 智能体中

一键快捷安装经管之家 MCP/技能,让 AI 帮你查教程、找数据、读论坛帖子。

检索、阅读公开帖子不收费,安装可申请领取:3 通用积分+100 论坛币+3 元论坛资金

请点击查看安装教程与福利 →

说明: AI 算力按所用平台规则计算;附件按原帖条件获取;福利领取条件以活动页面为准。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
8 小时前
这套模板的目录结构值得看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群