将参考文献的顺序更改为论文标题、作者和会议名称

将参考文献的顺序更改为论文标题、作者和会议名称

我有一个 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) 添加notesENTRY

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}
}

给出:

在此处输入图片描述

相关内容