专栏名称: LaTeX工作室
欢迎光临分享与学习LaTeX的王国
51好读  ›  专栏  ›  LaTeX工作室

LaTeX 文献引用新革命:citation-style-language 包让 CSL 帮你轻松管理文献,告别格式烦恼!

LaTeX工作室  · 公众号  ·  · 2025-03-18 21:07

正文

点击👇 LaTeX工作室 关注公众号
精致美好科研生活从 LaTeX 开始!


Citation Style Language(CSL) 是一种开源的标准化语言,用于定义学术文献的引用和参考文献格式。它被广泛用于文献管理工具(如 Zotero Mendeley JabRef )以及 LaTeX 和其他文档处理系统,以自动化格式化参考文献。CSL 让学术写作中的引用管理更加高效、规范和自动化,无论你是学生、研究人员,还是编辑工作者,都可以通过它大幅提升文献管理效率!🔥📖

CSL 的特点

  • 📚 通用性 :支持数千种学术期刊和出版机构的引用格式,如 APA、MLA、Chicago、IEEE 等。
  • 🔄 可扩展性 :用户可以修改或创建自定义的引用样式,满足特定期刊或机构的要求。
  • 🖥️ 跨平台支持 :被多种文献管理工具和文本处理软件集成,适用于 LaTeX、Markdown、Word 等环境。
  • 🔧 基于 XML 设计 :使用 XML 语法定义引用格式,易于解析和修改。

📌 更多资源

  • CSL 官方网站:https://citationstyles.org/

  • CSL 样式库:https://www.zotero.org/styles

    在 Zotero/Mendeley 等软件中直接使用 现有的 CSL 文件,自动格式化参考文献。您也可以 自定义 CSL 样式 :如果默认样式不能满足需求,可以在 CSL 编辑器 (https://editor.citationstyles.org/) 中修改或创建新的格式。

CSL-Editor
CSL-Editor

那么,  在 LaTeX 如何用 CSL 规范的参考文献。就有了Zeping Lee 的 citation-style-language 项目。

一、项目简介

citation-style-language 包是一个利用 CSL(Citation Style Language)样式为 LaTeX 提供参考文献格式化方法的项目。CSL 是一种基于 XML 的语言,定义了引用和参考文献的格式,目前已有包括 APA、Chicago、Vancouver 等数千种样式。这个包包含一个用纯 Lua 实现的引用处理器 citeproc-lua,它能读取书目元数据,并根据选定的 CSL 样式对引用和参考文献进行排序和格式化。同时,它还提供了一个 LaTeX 包 citation-style-language.sty 来与处理器通信。

二、安装方法

这个包在 TeX Live 2022 或更高版本中可以找到,大多数用户可以通过 tlmgr 安装。如果你想安装 GitHub 开发版本,可以按照以下步骤操作:

git clone https://github.com/zepinglee/citeproc-lua # 克隆仓库
cd citeproc-lua
git submodule update --init --remote # 获取子模块
l3build install

这些命令会将包文件安装到 TEXMFHOME,通常在 Linux 上是 ~/texmf,在 macOS 上是 ~/Library/texmf。此外,citeproc-lua 可执行文件需要复制到 PATH 环境变量中的某个目录,以便在 shell 中直接调用。例如,如果 ~/bin 在 PATH 中,可以运行以下命令:

cp citeproc/citeproc-lua.lua "~/bin/citeproc-lua"

要从 TEXMFHOME 卸载包,只需运行 l3build uninstall。

三、快速上手

使用 citation-style-language 包非常简单,以下是一个示例:

\documentclass{...}
\usepackage[style=apa]{citation-style-language}
\addbibresource{bibfile.json}
\begin{document}
\cite{...} ...
\printbibliography
\end{document}

编译文档的流程因引擎而异。对于 LuaTeX,由于 CSL 处理器是用 Lua 编写的,可以直接在 LuaTeX 中运行,无需运行外部程序,只需运行两次 latex,就像处理带有交叉引用的文档一样。对于其他引擎,则需要在 .aux 文件上运行 citeproc-lua 可执行文件来生成引用和参考文献,具体步骤如下:

  1. 在 example.tex 上运行 latex。
  2. 在 example.aux 上运行 citeproc-lua,引擎会读取 .csl 样式文件、CSL 本地化文件和 .bib 数据库,然后将处理后的引用和参考文献写入 example.bbl。
  3. 再次在 example.tex 上运行 latex,加载 .bbl 文件并打印所有引用和参考文献。

四、包设置

可以通过在加载包时或之后的任何时间使用 \cslsetup 命令来设置包选项,这两种方法是等效的。例如:

\usepackage[style=apa]{citation-style-langugage} % 或者
\usepackage{citation-style-langugage}
\cslsetup{style = apa}

其中,style=⟨style-id⟩ 选项选择用于引用和参考文献的样式文件 ⟨style-id⟩.csl。已实现的 CSL 样式文件可在官方 GitHub 仓库 2 以及 Zotero 样式仓库 3 中找到,用户可以搜索并下载 .csl 文件到工作目录。此外,包中还分发了一些样式,可以直接加载而无需下载。

五、命令介绍







请到「今天看啥」查看全文