biblatex-chicago authordate fullcite 问题

biblatex-chicago authordate fullcite 问题

以下可能是一个错误,但我想知道是否有人知道解决方法。

我有两个带有 的书目条目crossref,我需要fullcite在文档中打印它们。我不想打印主要书目条目。我可以在 中毫无问题地做到这一点biblatex-chicago。但是,一旦我指定,authordate就会出现错误。只有当我加载包时,错误才会打印在我的日志中hyperef,但无论如何都会出现错误。错误显示pdfTeX warning (dest): name{cite.0@Editorzzz:2002} has been referenced but does not exist, replaced by a fixed one

这是 mybib.bib

@incollection{Lxxx:2002,
    Author = {Nxxx Lxxx},
    Crossref = {Editorzzz:2002},
    Title = {This is a story}}

@incollection{Lyyy:2002,
    Author = {Nyyy Lyyy},
    Crossref = {Editorzzz:2002},
    Title = {This is another story}}

@book{Editorzzz:2002,
    Address = {Durham},
    Booktitle = {A Reader of Something},
    Editor = {Nzzz Editorzzz},
    Publisher = {Duke University Press},
    Title = {A Reader of Something},
    Year = {2002}}

这是我的序言 tmp.tex

\documentclass[]{article}
\usepackage[authordate,backend=biber]{biblatex-chicago}
\usepackage[]{hyperref}

\bibliography{mybib}

\begin{document}


\fullcite{Lxxx:2002}

\fullcite{Lyyy:2002}

\end{document}

当我没有指定时,authordate我会得到这个:

Nxxx Lxxx,“这是一个故事”,摘自《某事的读者》,Nzzz Editorzzz 编辑(达勒姆:杜克大学出版社,2002 年)

Nyyy Lyyy,“这是另一个故事”,载于 Editorzzz,《某事的读者》

这很好。但是当我指定时authordate,我得到了这个:

Nxxx Lxxx。2002年。“这是一个故事”在Editorzzz 2002

Nyyy Lyyy。2002。“这是另一个故事”在 Editorzzz 2002

至少有一个缺少完整引文。有解决方法吗?我正在研究教学大纲,我有很多交叉引用的条目,但不想打印阅读器或主集合,因为我只在集合中包含一些条目的完整引文。

有任何想法吗?

答案1

默认情况下,交叉引用的父级会打印在参考书目中。由于您没有调用\printbibliography对父级参考书目项目的引用,因此会导致警告。通常,您可以使用该选项隐藏参考书目中的项目skipbib,但样式会忽略其设置。所以我认为这是个错误。

incollection中定义的驱动程序chicago-authordate.bbx可以明显看出,字符串后面的文本in是由命令生成的\bibxrefcite{\thefield{crossref}}。在chicago-authordate.cbx

\DeclareCiteCommand{\bibxrefcite}
  {\usebibmacro{cite:init}}%\usebibmacro{clearalmostall}} (?)
  {\usebibmacro{cms-in:}%
    \blx@ibidreset% For authordate style
    \usebibmacro{cite}}
  {}
  {}

要修复字符串前缺少的标点符号/空格in并获得“更完整”的引用,您可以在序言中重新定义它:

\makeatletter
\DeclareCiteCommand{\bibxrefcite}
  {\usebibmacro{cite:init}}
  {\newunitpunct% add missing punctuation
   \usebibmacro{cms-in:}%
   \blx@ibidreset%
   \usedriver{}{\thefield{entrytype}}}
  {}
  {}
\makeatother

要获取对父条目的较短后续引用,请加载biblatex-chicagocitetracker使用\ifciteseen中的测试\bibxrefcite。例如:

\makeatletter
\DeclareCiteCommand{\bibxrefcite}
  {\usebibmacro{cite:init}}
  {\newunitpunct% add missing punctuation
   \usebibmacro{cms-in:}%
   \blx@ibidreset%
   \ifciteseen
     {\printnames{labelname}\newunit\printfield{title}}
     {\usedriver{}{\thefield{entrytype}}}}
  {}
  {}
\makeatother

您应该直接与作者联系,biblatex-chicago告知缺少的标点符号/空格以及不存在的链接目标的可能性。

相关内容