【亲测免费】 pandoc-crossref滤镜使用指南
项目介绍
pandoc-crossref 是一个专为 Pandoc 设计的滤镜,用于对图表、公式、表格进行编号,并支持对这些元素的交叉引用。它灵感来源于 pandoc-fignos 和 pandoc-eqnos,由@tomduck开发。这款工具允许您在将Markdown或其他格式转换为HTML、LaTeX、PDF等时,自动或手动管理编号和引用,对于学术论文、报告或复杂的文档编排尤其有用。
项目快速启动
安装
简易安装(推荐)
对于Windows、macOS和Linux的用户,最简单的安装方式是从发布页面下载预构建好的可执行文件。确保所下载的版本与您的Pandoc版本兼容以避免异常。
# 假设您已确认版本兼容性
wget https://github.com/lierdakil/pandoc-crossref/releases/download/vX.Y.Z/pandoc-crossref-linux-amd64 # 示例,替换为实际链接
chmod +x pandoc-crossref-linux-amd64
mv pandoc-crossref-linux-amd64 /usr/local/bin/pandoc-crossref # 或您的个人bin目录
从源码安装
如果您偏好自建,首先确保安装Haskell的环境,如使用ghcup获取ghc和cabal:
ghcup install ghc cabal
cabal v2-update
cabal v2-install --install-method=copy pandoc-crossref
使用示例
编辑一个Markdown文件,比如example.md,加入图片和引用示例:
{#fig:example}
参考上面的图:ref:`fig:example`。
然后运行Pandoc命令来转化并应用crossref功能:
pandoc example.md -F pandoc-crossref -o example.html
应用案例和最佳实践
在撰写技术文档或学术论文时,利用pandoc-crossref可以大大提高文档的结构清晰度和专业性。例如,当需要详细说明多个图表和公式之间的关系时,通过章节内或跨章节的精确引用,能够使读者轻松跟进讨论。
最佳实践中,应确保所有的图表和公式都有唯一的ID,并且在正文中使用正确的{#label}语法来标记。此外,开启分章编号(-M chapters)对于长篇文档尤为重要,这可以通过Pandoc命令行参数实现。
典型生态项目
虽然pandoc-crossref本身是独立的,但它常与其他Pandoc相关的生态项目结合使用,比如配合citeproc处理引用,或者利用特定的LaTeX模板增强输出效果。在学术出版领域,这种集成允许作者编写简洁的Markdown文档,同时产出符合期刊标准的PDF文稿,极大地简化了复杂文档的准备过程。
请注意,为了优化使用体验,开发者社区可能围绕Pandoc创建了一系列插件和配置方法,确保你的工作流程中考虑到这些生态中的其他有益工具。例如,使用pandoc-citeproc处理BibTeX引用库,可以让文献引用变得自动化且格式一致。
此文档仅为简要指导,具体细节和高级用法请参考pandoc-crossref的GitHub页面上的完整文档。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0218
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0139
uni-appA cross-platform framework using Vue.jsJavaScript09
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03