![如何修改 apalike.bst 以删除“作者(年份)”后的句点(.)?](https://linux22.com/image/346738/%E5%A6%82%E4%BD%95%E4%BF%AE%E6%94%B9%20apalike.bst%20%E4%BB%A5%E5%88%A0%E9%99%A4%E2%80%9C%E4%BD%9C%E8%80%85%EF%BC%88%E5%B9%B4%E4%BB%BD%EF%BC%89%E2%80%9D%E5%90%8E%E7%9A%84%E5%8F%A5%E7%82%B9%EF%BC%88.%EF%BC%89%EF%BC%9F.png)
我必须更改 apalike.bst 的哪一部分才能删除“作者(年份)”后的句点。
而不是“作者(年份)”。我需要“作者(年份)”
答案1
这是一个解决方案,可以避免我在对@Qwerty 自己的答案的评论中发现的问题。
首先复制文件apalike.bst
;将副本命名为myapalike.bst
。在 中myapalike.bst
找到函数output.year.check
。用以下代码替换整个函数:
FUNCTION {output.year.check}
{ year empty$
{ "empty year in " cite$ * warning$ }
{ write$
" (" year * extra.label * ")\removeperiod" *
mid.sentence 'output.state :=
}
if$
}
")
请注意,和之间现在没有空格\removeperiod"
。
将文件保存myapalike.bst
在主 tex 文件所在的目录中,或保存在 BibTeX 搜索的目录中。如果选择第二个选项,您可能还需要更新 TeX 发行版的文件名数据库。并且,将指令的参数\bibliographystyle
从更改apalike
为myapalike
。
另外,在文档的序言中提供以下代码:
\makeatletter
\newcommand{\removeperiod}{\@ifnextchar.{\@gobble}\relax}
\makeatother
答案2
复制apalike.bst
文件并将其粘贴到所需的 .tex 和 .bib 文件所在的位置。将其重命名,(例如)myapalike.bst
。要进行编辑,请使用某些文本编辑器(我使用了记事本)打开myapalike.bst
。搜索FUNCTION {output.year.check}.
现在按如下方式修改它:
FUNCTION {output.year.check}
{ year empty$
{ "empty year in " cite$ * warning$ }
{ write$
" (" year * extra.label * ") \removeperiod" *
mid.sentence 'output.state :=
}
if$
}
还请在文档前言中添加以下代码:
\makeatletter
\newcommand{\removeperiod}{\@ifnextchar.{\@gobble}\relax}
\makeatother