通过 amsalpha 订购

通过 amsalpha 订购

我正在使用amsalphabibtex在我看来,引用的顺序是按照按键的字母顺序排列的。

是否可以将其更改为按作者的字母顺序排列?

我举个例子。假设我们有

[CD13] 猫和狗,......

[第 13 章] 牛和马,……

[CL13] 猫和狮子,……

我宁愿

[CD13] 猫和狗,......

[CL13] 猫和狮子,……

[第 13 章] 牛和马,……

谢谢! :)

答案1

首先,我认为按作者姓名排序不是一个好主意。如果有人阅读了你的文本并找到了引文标签 CD13,她很快就会想在参考书目中找到它,因此参考书目应该按标签排序。

话虽如此,出于纯粹的教学原因,您的方案可以按如下方式实施:

  1. 复制amsalpha.bst,比如amsalpha2.bst,并将其放在 BibTeX 可以找到的地方。
  2. 使用编辑器打开amsalpha2.bst并找到函数FUNCTION {presort}
  3. 注释掉以下四行:

    FUNCTION {presort}
    { calc.label
      %sort.label   %% commented out
      %"    "       %% commented out
      %*            %% commented out
      type$ "book" =
      type$ "inbook" =
      or
        'author.editor.sort
        { type$ "proceedings" =
        'editor.organization.sort
        { type$ "manual" =
            'author.organization.sort
            'author.sort
          if$
        }
          if$
        }
      if$
      %*              %% commented out
      "    "
      *
      year field.or.null sortify
      *
      "    "
      *
      title field.or.null
      sort.format.title
      *
      #1 entry.max$ substring$
      'sort.key$ :=
    }
    

这样,如果存在作者姓名,则作者姓名将成为首要排序标准,而不是标签。现在您可以将amsalpha2其用作参考书目样式。

相关内容