如何使用 BST 在 bbl 文件中的作者处插入点/句号

如何使用 BST 在 bbl 文件中的作者处插入点/句号

我需要在参考文献的每一位最后一位作者后插入结束句点:

我的书目文件:

@article{winograd1972understanding,
author={Winograd, Terry},
year={1972},
title={Understanding natural language},
journal={Cognitive Psychology},
volume={3},
number={1},
pages={1--191}
}

错误输出:

\bibtype{Article}%%
\bibitem[{Winograd}(1972)]{winograd1972understanding}
\bibinfo{author}{Winograd, Terry} \bibinfo{year}{1972}.
\bibinfo{title}{Understanding natural language}.
{\em \bibinfo{journal}{Cognitive Psychology}\/}
  \bibinfo{volume}{3}(\bibinfo{number}{1}):\bibinfo{pages}{1--191}.

所需输出:

\bibtype{Article}%%
\bibitem[{Winograd}(1972)]{winograd1972understanding}
\bibinfo{author}{Winograd, Terry}**.** \bibinfo{year}{1972}.
\bibinfo{title}{Understanding natural language}.
{\em \bibinfo{journal}{Cognitive Psychology}\/}
  \bibinfo{volume}{3}(\bibinfo{number}{1}):\bibinfo{pages}{1--191}.

我的书目文件:

FUNCTION {format.authors}
{ author "author" format.names
    duplicate$ empty$ 'skip$
    { collaboration "collaboration" bibinfo.check
      duplicate$ empty$ 'skip$
    { " (" swap$ * ")" * }
      if$
      *
    }
  if$
}

FUNCTION {output.nonnull}
{ 's :=
  output.state mid.sentence =
    { ", " * write$ }
    { output.state after.block =
    { add.period$ write$
      newline$
      "" write$
    }
    { output.state before.all =
        'write$
        { add.period$ " " * write$ }
      if$
    }
      if$
      mid.sentence 'output.state :=
    }
  if$
  s
}

FUNCTION {book}
{ newline$
  "\bibtype{Book}%" write$
   output.bibitem
    format.opennote output
   author empty$
    { format.editors "author and editor" output.check
      editor format.key output
      add.blank
    }
    { format.authors output.nonnull
      crossref missing$
    { "author and editor" editor either.or.check }
    'skip$
      if$
    }
  if$
  format.date "year" output.check
  format.month output
  date.block
  format.btitle "title" output.check emphasize
  format.edition "edition" output.check
  format.bknote "bknote" output.check
  format.titlecomment "titlecomment" output.check
  format.series "series" output.check
  format.volume "volume" output.check
  format.number "number" output.check
  format.publisher "publisher" output.check
  format.address "address" output.check
  new.block
%%  format.isbn output
%%  format.book.pages output
  format.doi output
  new.block
  format.note empty$
  { }
  {format.note output.check }
  if$
  format.eprint output
  format.url output
  format.endnote output
  format.chapter output
  format.type output
  fin.entry
}

FUNCTION {format.editors}
{ editor "editor" format.names duplicate$ empty$ 'skip$
    {
      "," *
      " " *
      get.bbl.editor
   "(" swap$ * ")" *
      *
    }
  if$
}

如果有人能显示修改文件的路径我将非常感激.bst

相关内容