![与 acmart 合作的 BibTeX 论文集](https://linux22.com/image/359523/%E4%B8%8E%20acmart%20%E5%90%88%E4%BD%9C%E7%9A%84%20BibTeX%20%E8%AE%BA%E6%96%87%E9%9B%86.png)
我正在使用 acmart 类,参考书目中的会议记录项目看起来很奇怪,例如,
[1] IEEE 1997. Proc. 12th Symposium on Logic in Computer Science. IEEE.
我尝试了几种变化,但都没有成功。
我想要的是类似这样的东西:
[X] IEEE. Proc. 12th Symposium on Logic in Computer Science, 1997.
(对于 X,我不太关心,但我猜应该按照 IEEE 作为作者进行排序)。
以下是一份 MEWB:
\documentclass{acmart}
\bibliographystyle{ACM-Reference-Format}
\citestyle{acmnumeric}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@proceedings{DBLP:conf/lics/1997,
author = {},
key = {LICS 1997},
organization = {IEEE},
year = {1997},
title = {Proc.\ 12th Symposium on Logic in Computer Science},
}
\end{filecontents}
\begin{document}
\cite{DBLP:conf/lics/1997}
\bibliography{\jobname}
\end{document}
请问有什么提示吗?
答案1
首先:如果你想在 ACM 上发表一篇文章,你不应该对风格做任何改变,而应该按原样使用,或者你至少应该在做这样的改变之前询问编辑/出版商!通常编辑/出版商不会接受这样的改变并会撤消它们。
使用natbib
(默认情况下使用acmart
),您需要更改ACM-Reference-Format.bst
。为此:
- 在您的文档文件夹中复制
ACM-Reference-Format.bst
并命名,例如Non-ACM-Reference-Format.bst
。 - 在文本编辑器中打开
Non-ACM-Reference-Format.bst
并搜索FUNCTION { proceedings }
。 用以下方式替换整个函数
FUNCTION { proceedings } { output.bibitem editor empty.or.unknown { organization output organization format.key output } % gnp - changed from author format.key { format.editors output.nonnull } if$ % author format.key output % gnp - removed (should be either % editor or organization % output.year.check % added (newapa); Schweinebacke: removed new.block format.btitle format.city "title" output.check % jtb: added city new.sentence format.bvolume output format.number.series output new.sentence editor empty.or.unknown % schweinebacke: added { } % schweinebacke: added { % schweinebacke: added organization output }% schweinebacke: added if$ % schweinebacke: added % jtb: normal order: publisher, address publisher empty.or.unknown { } { "\bibinfo{publisher}{" publisher * "}" * output } if$ address empty.or.unknown { } { "\bibinfo{address}{" address * "}" * output } if$ fin.block output.issue.doi.coden.isxn.lccn.url.eprint.note new.block % schweinebacke: added output.year.check % schweinebacke: added fin.entry }
改变
\bibliographystyle{ACM-Reference-Format}
在您的文档中
\bibliographystyle{Non-ACM-Reference-Format}
再次运行
bibtex
并且pdflatex
。
结果是
注意:在我们这个时代,建议经常使用biblatex
,因为您可以使用 更改参考书目而biblatex
无需进行bst
黑客攻击。要使用biblatex
,acmart
您必须传递选项natbib=false
。在这种情况下,您可以从标准数字样式开始,然后逐步更改条目的格式。
答案2
我想补充@Schweinebacke 的回答。
更改书目格式相对容易。但是,当您使用 ACM 等“官方”样式时,最好不要这样做。原因是,像 ACM 这样的出版商创建了自己的“内部样式”,并坚持要求遵循。这就是他们的样式被提供给作者的原因。更改这一点会破坏“官方”样式的目的。您可能更喜欢自己的格式,但如果您不想与出版商产生问题,请使用他们的格式。
一个有自尊心的出版商是不会允许同一本期刊或一本书中的两篇论文使用不同的格式的。
恐怕改变格式的正确方法是请求 ACM 改变他们的规范。这样我就可以轻松适应了。这不是一个技术问题,而是一个设计问题。