如何在子交叉引用的参考书目条目中仅打印父交叉引用的作者日期?

如何在子交叉引用的参考书目条目中仅打印父交叉引用的作者日期?

我有一个@article条目,它交叉引用另一个@periodical条目。我引用了它们两个。在我的参考书目中,我希望文章以引用的形式引用期刊,但我只得到了更扩展的形式,其中包含标题,但没有日期。

\documentclass[a4paper,12pt]{scrartcl}

\RequirePackage[english,germanb]{babel}
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{url}
\usepackage{csquotes}

\usepackage[style=authoryear-comp]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{question.bib}

@Periodical{ journal,
title = "A Journal",
editor = "Elena Trug",
year = "2013",
issuetitle = "The theme of the issue",
}

@Article{ article1,
title = "About something",
author = "Walter Kerny",
crossref = "journal"
}

\end{filecontents}


\addbibresource{./question.bib}

\begin{document}

\cite{journal,article1}

\printbibliography


\end{document}

我得到类似这样的信息:

科尔尼 2013;特鲁格 2013

参考

Kerny, Walter (2013). “关于某事”。在:本期主题. 编辑:Elena Trug。

Trug, Elena,编辑(2013 年)。期刊:本期的主题。

我希望文章中有类似的内容(就像我从 BibTeX 切换到 biblatex 之前那样):

Kerny, Walter (2013)。“关于某事”。收录于:Elena Trug 编辑 (2013)。

我希望我说清楚了。


@incollection编辑:我曾经使用一个条目和一个条目通过 BibTeX 来管理这个@book

答案1

我刚刚找到了一个解决方法biblatex:我在文章的数据库条目中写入以下“注释”字段而不是“crossref”字段:

note = "{\citereset\textcite{journal}}",

答案2

我确信这其中存在各种问题。但是,我想知道如何正确地做到这一点,所以希望我的混乱能促使比我更有知识的人告诉我如何纠正它。

此代码基于丹尼斯的回答当然,这种破坏是我自己造成的。

\documentclass[a4paper,12pt]{scrartcl}

\RequirePackage[english,germanb]{babel}
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{url}
\usepackage{csquotes}

\usepackage[style=authoryear-comp, mincrossrefs=1]{biblatex}

\newbibmacro{mycrossref}{%
  \textcite{\thefield{crossref}}}
\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{bytranslator+others}%
  \newunit\newblock
  \printfield{version}%
  \newunit\newblock
  \usebibmacro{in:}%
  \ifentryinbib{\thefield{crossref}}{%
    \usebibmacro{mycrossref}%
    %\newunit% uncomment this line and the next to include pages in the crossreferences.
    %\usebibmacro{note+pages}%
 }{%
    \usebibmacro{journal+issuetitle}%
    \newunit
    \usebibmacro{byeditor+others}%
    \newunit
    \usebibmacro{note+pages}%
    \newunit\newblock
    \iftoggle{bbx:isbn}
      {\printfield{issn}}
      {}%
  }%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}

  @Article{ article1,
    title = {About something},
    author = {Kerny, Walter},
    crossref = {journal}
  }

  @article{ article2,
    title = {Another article},
    author = {Else, Someone},
    journal = {Great Stuff},
    date = 2090,
    pages = {24-34}}

  @Periodical{ journal,
    title = {A Journal},
    editor = {Trug, Elena},
    date = {2013},
    issuetitle = {The theme of the issue}
  }

\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

  \nocite{*}

  \printbibliography

\end{document}

这将产生以下内容,虽然不完全是您想要的,但可能更接近:

交叉引用

相关内容