有人做过与biblatex
库存格式相匹配的书目样式吗?我希望对 URL 等内容进行更复杂的处理,但我提交的期刊指定了 ACM 样式的格式。acm.bst
biblatex
答案1
记住 Alan Munn 的警告,这里有一些可以让你入门的东西。首先,使用以下传统 BibTeX 的示例acm.bst
:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Bli74,
author = {Blinder, Alan S.},
year = {1974},
title = {The economics of brushing teeth},
journal = {Journal of Political Economy},
volume = {82},
number = {4},
pages = {887--891},
}
@book{Kot11,
author = {Kottwitz, Stefan},
year = {2011},
title = {\LaTeX\ Beginner's Guide},
address = {Birmingham},
publisher = {Packt Publishing},
}
\end{filecontents}
\begin{document}
\nocite{*}
\bibliographystyle{acm}
\bibliography{\jobname}
\end{document}
并使用相同的示例biblatex
及其配置可能性。(请注意文件中的差异.bib
:journal
替换为journaltitle
,address
替换为location
。)
这里针对多作者作品指定了一些额外的调整,但其他参赛类别可能需要更多调整;请参阅自定义 biblatex 样式的指南以获取进一步的建议。
\documentclass{article}
\usepackage[style=numeric,firstinits=true]{biblatex}% "style=numeric" is default
\DeclareNameAlias{default}{last-first}
\AtBeginBibliography{%
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}%
%% commas between authors
\renewcommand{\multinamedelim}{\addcomma\space}
\renewcommand{\finalnamedelim}{\addcomma\addspace\textsc{and}\space}
}
\DefineBibliographyStrings{english}{%
andothers = {\addcomma\addspace\textsc{et\addabbrvspace al}\adddot},
and = {\textsc{and}}
}
\renewcommand*{\labelnamepunct}{\space\space}
\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,thesis,unpublished]
{title}{#1}
\renewbibmacro{in:}{%
\ifentrytype{article}{%
}{%
\printtext{\bibstring{in}\intitlepunct}%
}%
}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit*{\addcomma\space}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
\DeclareFieldFormat{pages}{#1}
\renewbibmacro*{publisher+location+date}{%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\printlist{location}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\newunit}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Bli74,
author = {Blinder, Alan S.},
year = {1974},
title = {The economics of brushing teeth},
journaltitle = {Journal of Political Economy},
volume = {82},
number = {4},
pages = {887--891},
}
@book{Kot11,
author = {Kottwitz, Stefan},
year = {2011},
title = {\LaTeX\ Beginner's Guide},
location = {Birmingham},
publisher = {Packt Publishing},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography
\end{document}