我有一个 bib 文件,但是我想自动化该过程以提供以下输出(包括新行):
Paper Title (\title{})
Authors (\author{})
Proceedings of the xxx conference, 2018 (\inproceedings{})
Acceptance Rate (\notes{})
代替Authors, Title, conference, notes.
下面是从 bib 文件自动创建参考文献的简单示例,使用 \bibliographystyle{ACM-Reference-Format} \bibliography{refs/mybib.bib} 作为示例:
John is First Author (underline the first author), Matt is the second Author, This is the paper title, Proceedings of the Latex Conference, 2018, Acceptance Rate 5%
相应的 mybib.bib 包含如下示例条目:
@InProceedings{example,
Title = {This is the paper title},
Author = {John is First Author, Matt is the second Author},
Booktitle = {Proceedings of the Latex Conference},
Year = {2018},
Notes = {Acceptance Rate 5%}
}
以下是要打印的格式:
This is the paper title
John is First Author (underline John), Matt is the second Author
Proceedings of the Latex Conference, 2018
Acceptance Rate 5%
答案1
对文件进行以下更改ACM-Reference-Format.bst
。
1) 添加notes
到ENTRY
。
2)定义mynotes
如下
FUNCTION { format.mynotes }
{
notes empty.or.unknown
{ "" }
{ notes * } %tie.or.space.connect
if$
}
3)替换代码:
FUNCTION { format.in.emphasize.booktitle }
{ % jtb: format for collections or proceedings not appearing in a journal
booktitle empty.or.unknown
{ "" }
{ "In " format.emphasize.booktitle * }
if$
}
经过
FUNCTION { format.in.emphasize.booktitle }
{ % jtb: format for collections or proceedings not appearing in a journal
booktitle empty.or.unknown
{ "" }
{"" format.emphasize.booktitle * }
if$
}
4)替换代码
FUNCTION { inproceedings }
{
output.bibitem
format.authors "author" output.check
author format.key output % added
output.year.check % added
new.block
format.articletitle "title" output.check
howpublished empty.or.unknown
{ }
{ "\bibinfo{howpublished}{" howpublished "}" * * output.dot.space }
if$
crossref missing$
{
journal missing$ % jtb: proceedings appearing in journals
{ format.in.emphasize.booktitle format.city "booktitle" output.check.dot.space
format.series output.removenospace
format.editors.fml output % BV 2011/09/27 Moved dot to comma
format.bvolume.noseries output
new.sentence
organization output
publisher "publisher" bibinfo.output.check % jtb: require publisher (?)
address "address" bibinfo.output.check % jtb: require address
format.bookpages output
}
{
format.in.booktitle format.city "booktitle" output.check
format.editors.fml output
new.sentence
format.journal.volume.number.day.month.year output
}
if$
format.articleno output
format.pages.check.without.articleno output
}
{
format.incoll.inproc.crossref output.nonnull
format.articleno output
format.pages.check.without.articleno output
}
if$
format.articleno.numpages output
fin.block
output.issue.doi.coden.isxn.lccn.url.eprint.note
fin.entry
}
经过
FUNCTION { inproceedings }
{
output.bibitem
newline$
format.articletitle "title" output.check
new.block %
format.authors "author" output.check
newline$ % changed
author format.key output % added
new.block
newline$ % changed
%% format.articletitle "title" output.check
%newline$ % changed
%format.mynotes output
howpublished empty.or.unknown
{ }
{ "\bibinfo{howpublished}{" howpublished "}" * * output.dot.space
%write$ newline$% changed
}
if$
crossref missing$
{
journal missing$ % jtb: proceedings appearing in journals
{ format.in.emphasize.booktitle format.city "booktitle" output.check.dot.space
format.series output.removenospace
format.editors.fml output % BV 2011/09/27 Moved dot to comma
format.bvolume.noseries output
new.sentence
organization output
%changed publisher "publisher" bibinfo.output.check % jtb: require publisher (?)
newline$ % changed
%changed address "address" bibinfo.output.check % jtb: require address
format.bookpages output
}
{
format.in.booktitle format.city "booktitle" output.check
format.editors.fml output
new.sentence
format.journal.volume.number.day.month.year output
}
if$
newline$ % changed
format.articleno output
%format.pages.check.without.articleno output
}
{
format.incoll.inproc.crossref output.nonnull
format.articleno output
format.pages.check.without.articleno output
}
if$
output.year.check
"~" write$ %*
newline$ %changed
"\hspace{0em}\\" %changed
format.mynotes output
format.articleno.numpages output
fin.block
output.issue.doi.coden.isxn.lccn.url.eprint.note
fin.entry
}
下列平均能量损失
\documentclass{article}
\usepackage[english]{babel}
\usepackage{hyperref}
\usepackage[natbibapa]{apacite}
\begin{document}
\cite{*}
\bibliographystyle{ACM-Reference-Format_mod} %
\bibliography{Library}
\end{document}
Library.bib
包含的文件
@InProceedings{example,
Title = {This is the paper title},
Author = {John is First Author, Matt is the second Author},
Booktitle = {Proceedings of the Latex Conference},
Year = {2018},
Notes = {Acceptance Rate 5},
Publisher = {Publisher},
address = {Adress},
pages = {1988}
}
生产
更新:Library.bib
正如@Mico所建议的,通过如下方式编写文件来更正OP的参考书目代码
@InProceedings{example,
Title = {This is the paper title},
Author = {Auth, John and Co-Auth, Matt},
Booktitle = {Proceedings of the Latex Conference},
Year = {2018},
Notes = {Acceptance Rate 5\%},
Publisher = {Publisher},
address = {Adress},
pages = {1988}
}
@InProceedings{example2,
Title = {This is the paper title},
Author = {Aut, Joe and Co-Aut, Mathew},
Booktitle = {Proceedings of the Latex Conference},
Year = {2019},
Notes = {Acceptance Rate 5\%},
Publisher = {Publisher},
address = {Adress},
pages = {1988}
}
给出: