使用 abntcite 时,\citeauthor 会将作者姓名大写。我该如何修复?

使用 abntcite 时,\citeauthor 会将作者姓名大写。我该如何修复?

文档使用数字引用,所以也许这就是为什么那里没有发生这种情况的原因。但我无法将我的引用更改为数字引用。

答案1

ABN-Tex 包含两个 Bibtex 样式文件:abnt-alf.bst(按名称引用)和 abnt-num.bst(按数字引用)。我在下面写下答案时假设您想使用 ABNT 书目,但名称采用标题大小写,而不是全部大写;我现在意识到您可能想使用数字引用,在这种情况下只需指定其他书目样式。

您无法在 Latex 文档中更改引用中使用的大小写,因为大写是在样式文件中确定的,abnt-alf.bst

函数 {format.single.name}
{
s nameptr get.person 'r :=
abnt.last.names
  {r #1 "{ll}{ jj}" 格式.名称$ "u" 更改.case$
   abnt.full.initials
    {r #1 "{, ff}{ vv}" 格式.名称$ *}
    {r #1 "{, f.}{ vv}" 格式.名称$ *}
  如果$}
  {%r #1 is.composed.von {r #1 recompose.name 'r :=} 'skip$ if$
   r #1 "{ll}" 格式.名称$
   #1 "{ll}" 格式.name$
   r #1 "{ jj}" 格式.name$ * "u" 更改.case$
   abnt.full.initials
    {r #1 "{, ff}{ vv}" 格式.名称$ *
     r #1 "{ll}" 格式.名称$
     #1 “{ ff}{ vv}”格式.名称$ *}
    {iso.作者.标点符号
      {r #1 "{, f{}}{ vv}" 格式.名称$ *}
      {r #1 "{, f.}{ vv}" 格式.名称$ *} if$
     r #1 "{ll}" 格式.名称$
     #1 "{ f.}{ vv}" 格式.名称$ *}
  如果$}

您可以使用自己修改过的 bst 文件:将实例 "u" change.case$(字符串大写)更改为"t" change.case$(字符串标题大写)并将其保存为新文件。除了上面引用的两个更改之外,可能还需要其他类似的更改。

答案2

如果你不想更改样式文件,你可以在文件中用括号括住作者姓名,以防止大写.bib,例如

author = {{Knuth}},

或者

author = {D. {Knuth}},

或类似的东西,取决于您的需要。

答案3

使用\citeauthoronline而不是\citeauthor

答案4

Navarro 答案的示例。摘自 ABNTEX-bibtex-alf 手册(我假设您用葡萄牙语书写,因为您使用的是 abntex):

点按作者 (citeauthoronline),以详细解释形式:

A produção de \ldots\ em 1928 mencionada por \citeauthoronline{10520:4.2-1}.

结果(乳胶):

该片于 1928 年制作,由 Mumford 导演。 (最初是小学生)。

相关内容