shortauthor 和 shorttitle 显示为 (cit. shortauthor, shorttitle),使用 biblatex 包含在参考书目中

shortauthor 和 shorttitle 显示为 (cit. shortauthor, shorttitle),使用 biblatex 包含在参考书目中

已经尝试了太长时间了:我想附上以下文字:

(引自 Doe,《商业法》)[小写字母名称]

在参考书目中每个条目末尾的句号之前,例如:

Doe John,《加拿大商法》,多伦多 1999 年(引自 Doe,《商法》)。[小写字母名称]

使用 biblatex 和 biber,我发现以下内容并将其放入我的 *.tex 文件的序言中:

\renewbibmacro*{begentry}{
   \printtext[parens]{
   \unspace{cit. }\printnames{shortauthor}\addcomma\addspace\printfield{shorttitle}\unspace
   \printnames{shorttitle}}
}

这将生成(位置在开始而不是结束!):

(引自 Doe,《商法》)Doe John,《加拿大商法》,多伦多 1999 年。

有人能解决我的问题吗?另外,是否可以使用 biblatex 生成 shortauthor 和 shorttitle,而无需在 *.bib 文件中定义这些标签?

答案1

如果您想将文本放在条目末尾,则必须使用finentrybiblatex 宏,而不是那个begentry,因此,您可以在代码中替换begentryfinentery\finentry在末尾添加以打印最后一个句点。

\renewbibmacro*{finentry}{
   \printtext[parens]{
   \unspace{cit. }\printnames{shortauthor}\addcomma\addspace\printfield{shorttitle}\unspace
   \printnames{shorttitle}}%
   \finentry
}

请注意,它们\unspace不是必需的,并且可以被消除。

文件中应给出字段shortauthor和(可以使用的某些功能从和中提取它们)。但是,在我看来,您想要的可以使用和字段来实现(对于,如果存在于中,则应使用)。shorttitlebibmapbiberauthortitlelabelnamelabeltitlelabeltitleshorttitlebib

\renewbibmacro{finentry}{%
  \printtext[parens]{%
  \printtext{cit.}\addspace
  \textsc{\printnames{labelname}}\addcomma\addspace
  \printfield{labeltitle}}
  \finentry
  }

相关内容