
有沒有人做過在格式上與biblatex
庫存相符的參考書目風格?acm.bst
我想要biblatex
對 URL 等內容進行更複雜的處理,但我提交的期刊指定了 ACM 風格的格式。
答案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}