BibTex:从参考文献中删除文章标题的简单方法?

BibTex:从参考文献中删除文章标题的简单方法?

我想为资助申请生成一个具有最小结构的参考书目。理想情况下,例如science.bst省略文章标题。

AN Clarkson、BS Huang、SE Macisaac、I. Mody、ST Carmichael、自然 468,305 (2010)。

不过,我更喜欢作者和年份的结构像这样apalike.bst

Clarkson, AN、Huang, BS、Macisaac, SE、Mody, I. 和 Carmichael, ST (2010)。减少过度 GABA 介导的强直抑制可促进中风后的功能恢复。自然,468:305–9。

有没有办法可以轻松地强制apalike.bst删除文章标题或science.bst反转作者/姓名首字母并移动年份?

答案1

例如,您可以尝试一下makebst。即,latex makebst在命令行中输入并按照(有点冗长的)对话框创建您自己的bst文件。

答案2

问题:

有没有办法可以轻松地强制 apalike.bst 删除文章标题……?

(备注:我在之后更新了这个答案埃尔顿发表评论指出,2011 年 8 月发布的原始答案不再有效,大概是因为在此期间对 BibTeX 进行了一些更新。)

简短回答:是的。

较长的回答:我建议您按如下方式进行:

  • 在您的 TeX 发行版中找到该文件apalike.bst。复制此文件并将副本命名为 。apalike-notitlefield.bst(不要直接编辑 TeX 发行版的原始文件。

  • 在文本编辑器中打开apalike-notitlefield.bst。你用来编辑 tex 文件的程序就可以了。

  • 找到函数format.title。(在我的文件副本中,该函数从第 264 行开始。)

  • 在此函数中,找到

         { title "t" change.case$ }
    

将此行更改为

        { "" }

本质上,您现在指示 BibTeX 对该title字段不执行任何操作,即使它非空。

  • 将文件保存apalike-notitlefield.bst到包含主 tex 文件的目录(即包含\bibliographystyle\bibliography指令的文件)或 BibTeX 搜索的目录。如果选择第二个选项,请确保适当更新 TeX 发行版的文件名数据库。

  • 在主 tex 文件中,更改

     \bibliographystyle{apalike} 
    

    \bibliographystyle{apalike-notitlefield}

并执行完整的重新编译循环(LaTeX、BibTeX 和 LaTeX 两次以上)以完全传播所有更改。

最后说明:众所周知,此答案适用于apalike书目样式。它也应该适用于许多其他书目样式,只要它们提供一个名为的功能format.title


为了完整起见,这里是 2011 年 8 月底的原始答案:

apalike.bst是的!只需要进行一些简单的修改。首先,在您的系统上找到该文件,然后在您喜欢的文本编辑器中打开它;在我的系统上,它的前两行是:

% BibTeX `apalike' bibliography style (version 0.99a, 8-Dec-10), adapted from
% the `alpha' style, version 0.99a; for BibTeX version 0.99a.

然后找到构造ENTRY{...}(在我的副本上从第 43 行开始apalike.bst),并在该构造中包含单个单词的行

    title

%(我复制的是第 62 行)。通过在行首放置一个注释字符来注释掉此行。将此文件保存myapalike.bst到 TeX/LaTeX 可以找到的地方。例如,如果您使用 TeXLive,您还需要运行(使用 sudo 权限)命令mktexlsr;如果您使用 MikTeX,您必须调用设置程序并单击“刷新 FNDB”。

顺便说一句,这种技术——注释掉 bst 文件的 ENTRY 结构中的一行以避免它出现在参考书目打印输出中——非常通用。例如,如果您想要一个样式文件,它永远不会打印出发表某篇文章的期刊名称,您可以注释掉该行journal并获得所需的结果。

最后,请注意,如果您在文件上运行 LaTeXmakebst.tex来从头开始创建自己的 bst 文件,您仍然必须手动编辑生成的 bst 文件,因为程序不允许您完全省略期刊文章的标题。相反,它会询问您是否要将标题放在引号中,以及引号应该是什么样子,例如,单引号还是双引号,或者单引号还是双引号。

答案3

您的 -type 条目的格式@article在以下部分中指定

FUNCTION {article}

对于 ,从第 482 行开始apalike.bst,对于 (的当前版本),从第 1036 行开始science.bst

为了从文章条目(或任何其他 *.bst 文件)title中删除该字段,请通过添加以下内容注释掉第 488 行:apalike.bst%

%  format.title "title" output.check

year更改字段的位置science.bst需要移动第 1045 行

 format.date "year" output.check

到所需位置,即第 1038 行之后

format.authors "author" output.check
format.date "year" output.check

请注意,这只会改变文章条目的位置year,如问题中所述。但是,它很容易扩展到其他条目类型。

反转作者/姓名首字母需要更改 format.names 函数(第 489 行science.bst)。顺序在第 497 行指定

      "{f.~}{vv~}{ll}{, jj}" format.name$

并且首字母是第一部分,需要移到最后。

      "{vv~}{ll}{, jj}{, f.}" format.name$

请注意,此更改适用于author所有条目类型的所有字段。

当然,对于任何其他 *.bst 文件来说,所有这些都是完全有效的。

相关内容