格式化 apalike-url.bst 链接以参考

格式化 apalike-url.bst 链接以参考

我在用apalile-url.bst获取 APA 参考文献格式,但我想在使用 URL 时格式化参考链接,例如当我引用我获得的 URL 时。

这是一个 URL 参考 [StackExchange, ],这是一个书籍参考 [Jones, 2001]

如您所见,如果 URL 没有年份,它仍然使用 [名称,年份] 格式,但我希望参考链接看起来像

这是一个 URL 参考 [StackExchange],这是一个书籍参考 [Jones, 2001]

关于如何修改.bst 文件有什么想法吗?

编辑:添加了工作示例

\documentclass[letterpaper,12pt,oneside,onecolumn,final,openany]{report}
\usepackage{url}

\begin{document}

\chapter{Test}

This shows the url \cite{google}


\clearpage
\addcontentsline{toc}{chapter}{References}
\bibliographystyle{./reference/apalike-url}
\bibliography{./reference/refdatabasewok}

\end{document}

refdatabasewok 是

@ELECTRONIC{google,
  author = {Google},
  title = {Google},
  url = {https://www.google.com}
}

答案1

文件中要修改的部分opaline-url.bst是函数FUNCTION {calculable}。在我的文件副本中,从第 1137 行开始。必须按如下方式修改该函数:

FUNCTION {calc.label}
{ type$ "book" =
  type$ "inbook" =
  or
    'author.editor.key.label
    { type$ "proceedings" =
    'editor.key.label           
    'author.key.label           
      if$
    }
  if$ 
  year empty$  % add this line
    {""}       % add this line
    {", "}     % add this line
    if$        % add this line
  % ", "       % this is the original line that has to be removed or commented out
  *            
  year field.or.null purify$ #-1 #4 substring$    
  *
  'label :=
}

原始样式会插入", ",您需要做的是仅当 有值时才插入它year。因此,您可以创建一个条件来检查年份是否有值:year empty$如果没有值,则不会插入任何内容,并在其后插入逗号和空格,即", "如果没有值,则不会插入任何内容,如果有 ,year

.bst修改文件后,请更改其名称。

相关内容