如果我有多个姓氏相同的作者,则\citeauthor
在使用 Biblatex 提供的作者年份样式时始终打印他们的首字母。
如果这种情况只发生在作者第一次在章节或段落中被引用时,还不算太糟,但当同一位作者被多次提及,而没有其他同姓氏的作者被提及时,这种情况就会变得愚蠢地重复。
Biblatex 坚持这样做,即使作者年份标签不需要包含首字母来保持唯一性 - 例如,因为没有同姓氏的作者在一年内发表过引用资料。但主要的一点是,这种用法完全不受上下文影响。这是我在本节中讨论的作者,并且没有任何歧义,这并不重要,Biblatex 不在乎。
我不记得旧版本的 Biblatex 是否有这样的功能,但我确实只在最近的版本中注意到了这一点,所以这可能是最近对名称处理进行的更改的影响。
我怎样才能避免包含首字母?如果我需要定义除此以外的命令\citeauthor
,我没问题,只要我可以在当前使用的任何地方使用相同的命令\citeauthor
(对于 也是如此\Citeauthor
)。
我知道这不是数字引用样式的问题,但对我来说这真的不是一个选择。它必须是作者年份。此外,shortauthor
即使这可行,添加到我的数据库文件中的每个条目中也不是一个有吸引力的选择。(我没有尝试过,因为我认为这绝对是最后的手段。)
以下是 MWE:
\begin{filecontents}{\jobname.bib}
@article{minister-wid,
author = {Minister, Prime},
title = {What I Did},
journal = {Westminster Chronicles},
volume = 11,
number = 2,
pages = {33--56},
year = 2003}
@article{minister-wis,
author = {Minister, Yes},
title = {What I Said},
journal = {Westminster Chronicles},
volume = 13,
number = 3,
pages = {78--95},
year = 2005}
\end{filecontents}
\documentclass{article}
\usepackage[backend=biber,style=authoryear-comp]{biblatex}
\bibliography{\jobname}
\begin{document}
\Citeauthor{minister-wis} discusses this matter in \citetitle{minister-wis} \autocite*{minister-wis}, arguing that black may, after all, be white and that zebra crossings should, therefore, be banned.
Although \citeauthor{minister-wis} does not explicitly mention the implications of this argument, it is clear that it entails nothing less than an identification of red with green and the demise of the nation's caterpillars.
A lot of other rubbish then follows, discussing many things and not limited, for example, to cabbages or kings.
Then there is a brief mention of some other stuff \autocite{minister-wid}.
\printbibliography
\end{document}
我知道\citeauthor
等基本上是在生成labelname
列表,尽管事实上它并不是参考书目标签中显示的列表,因为名称在那里完整出现。
我假设它基本上输出一个格式化的版本,\field{labelname}
最终生成author
上述简单的情况,如第 188 页的解释中所述\DelcareLabelname
。
然而,\citename{minister-wis}{labelname}
实际上,并没有给出与相同的输出\citeauthor{minister-wis}
,因此我认为后者对字段使用了另一种格式。
我可以说
\DeclareNameFormat{enwteulu}{% addaswyd o biblatex.def
\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\usebibmacro{name:andothers}%
}
进而
\citename{minister-wis}[enwteulu]{labelname}
只产生姓氏。我意识到我应该制作一个包装器命令而不是使用\citename
。但这是正确的方向吗?或者有更简单的解决方案吗?
默认行为是否是预期的输出,还是一个错误?它看起来非常笨拙和尴尬,并且非常不适合作为默认行为!
答案1
抱歉,我不同意,但我认为默认解决方案是最好的。至少,这是标准建议。例如,参见http://www.lib.umd.edu/tl/guides/citing-chicago-ad(部分:“如何构建文内括号引用”)或http://www.cws.illinois.edu/workshop/writers/citation/apa/intextcitation/,或者:http://blog.apastyle.org/apastyle/2014/01/when-to-use-author-initials-for-text-citations.html。即使对于你作为作者来说,在本地更改参考文献时不会产生歧义,但对于读者(和出版商)来说,情况就不同了:我们希望文章中的标签始终相同(因此,很抱歉,能够跳过一个段落而不会迷失方向)。参考书目和排版的一个关键问题是一致性(无论选择哪种,始终相同:参见http://www.math.illinois.edu/~ajh/tex/bibliographies.html,这也解决了第一个问题)。作者日期系统允许/应该允许读者立即知道谁在写什么。最重要的是,出版商通常会在第一次出现名字后就将其删除。