我目前正在从集成的 LaTeX 书目工具切换到 BibTeX + BibLaTeX。在集成的书目工具中,我可以直接(而且相当容易)控制书目条目的外观。我发现用 BibLaTeX 控制外观非常困难。我的问题是:如何自定义 BibLaTeX 样式以获得以下形式的外观
[DS24] J. Doe、J. Smith,开创性的作品,数学年鉴。18(2024), 11-23
也就是说,这些块是:
- 作者姓名以 {First name initial}.{Space}{Surname} 的列表形式排列,中间用逗号分隔,末尾不加“and”
- 论文标题以斜体显示
- {期刊名称} + {粗体卷号} + {括号中年份}(注意:无逗号)
- 开始页 - 结束页(注意:末尾没有句号)
并且块与块之间以逗号分隔。
答案1
类似这样的内容可以帮助您入门。我使用了捆绑包ext-alphabetic
中的biblatex-ext
,因为它简化了一些更改。
\documentclass{article}
\begin{filecontents}[overwrite]{\jobname.bib}
@article{ds24,
author = {Doe, John and Smith, John},
title = {Groundbreaking Title},
journaltitle = {Ann. of Math.},
volume = {18},
date = {2024},
pages = {11-13}
}
\end{filecontents}
\usepackage[style=ext-alphabetic, giveninits, articlein=false]{biblatex}
\addbibresource{\jobname.bib}
\DeclareFieldFormat{titlecase:title}{\MakeSentenceCase*{#1}}
\DeclareFieldFormat[article]{journaltitle}{#1\isdot}
\DeclareFieldFormat[article]{pages}{\mknormrange{#1}}
\DeclareFieldFormat[article]{title}{\mkbibemph{#1}}
\DeclareFieldFormat[article]{volume}{\mkbibbold{#1}}
\DeclareDelimFormat{multinamedelim}{\addcomma\space}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\finentrypunct}{}
\begin{document}
\cite{ds24}
\printbibliography
\end{document}