平均能量损失

平均能量损失

请考虑以下条目作为参考:

@reference{rlw,
 publisher = {{De Gruyter}},
 title = {Reallexikon der deutschen Literaturwissenschaft},
 subtitle = {Neubearbeitung des Reallexikons der deutschen Literaturgeschichte},
 shorttitle = {RLW},
 year = {2003},
 location = {Berlin/New York},
 edition = {3 Bde. 3., neubearb. Aufl. (1997-2003). Bd. I (1997) hrsg. v. Klaus Weimar u. a. Bd. II (2000) hrsg. v. Harald Fricke u. a. Bd. III (2003) hrsg. v. Jan-Dirk M{\"u}ller u. a.},
 keywords = {lex}
}

这是呈现三卷作品的一种非常不寻常的方式,我需要摆弄 bibdriver 才能“正确”地显示它

\DeclareBibliographyDriver{reference}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
    \iffieldundef{shorttitle}
        {}%
        {\printfield{shorttitle} =}%
    \iffieldundef{editor}
        {}{
        \usebibmacro{editor+others}%
        \setunit{\labelnamepunct}\newblock
        }
  \usebibmacro{maintitle+title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \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}}

结果如下: 书目条目示例

MLLK 条目只是装饰性的,用于在相关条目旁边显示“正确”定义的条目。不要介意开头的缩写和等号,这与我的另一个问题。我想知道的是以下内容: - 为了使一切无懈可击,我需要为每一卷制作一个书目条目,以便我可以分别指定每卷的编辑 - 这会使我的参考书目变得相当臃肿,因为在这种情况下,我将有 3 个不同的条目 - 尽管不同,但这三个条目仍然需要归纳为一个缩写,因为人们会将整个作品称为“RLW”而不是单个卷 - 具体引用哪一卷在子条目中给出(与 crossref 一起使用)

有没有办法将作品指定为@reference(就像我使用自定义显示一样),但有三个不同的条目(理想情况下可以交叉引用,并且它们本身可以交叉引用 @ThisIsAnEntryForTheWholeShelfInTheLibraryTheseBooksRestOn)直接出现在此主条目下(最好是缩进)?我不太担心各个文章到各个卷的交叉引用部分,这已经在起作用了。我更想寻找一种好方法,将一部作品的单独卷列在其“主条目”下。Word 中的快速模型: 期望结果的模型

答案1

这应该可以帮助您入门,但可能需要进一步定制。

我已使用related字段和relatedtype={multivolume}来设置主多卷条目与每个卷之间的关系。我已重新定义宏related:multivolume以按照您想要的格式打印每个卷。

我还对您的驱动程序做了一些其他更改,reference这样您就不必将所有内容都放在该edition字段中。

我修改了 的列表分隔符location,这样你就可以使用正确的location = {Berlin and New York}而不是错误的location = {Berlin/New York}。De Gruyter 周围的额外括号是不必要的。我使用了biblatex date允许正确指定日期范围的字段。

笔记:您必须biber,而不是 才能bibtex(8)使此示例正常工作。具体而言, 不支持相关条目bibtex

平均能量损失

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@mvreference{rlw,
 title = {Reallexikon der deutschen Literaturwissenschaft},
 subtitle = {Neubearbeitung des Reallexikons der deutschen Literaturgeschichte},
 shorttitle = {RLW},
 volumes = {3},
 edition = {3\addcomma\space\bibstring{revision}\space\bibstring{edition}},
 location = {Berlin and New York},
 publisher = {De Gruyter},
 date = {1997/2003},
 keywords = {lex},
 related = {rlw:1,rlw:2,rlw:3},
 relatedtype = {multivolume}
}
@reference{rlw:1,
  title = {A--G},
  editor = {Weiman, Klaus and others},
  volume = {I},
  date = {1997},
  crossref = {rlw}
}
@reference{rlw:2,
  title = {H--O},
  editor = {Fricke, Harald and others},
  volume = {II},
  date = {2000},
  crossref = {rlw}
}
@reference{rlw:3,
  title = {P--Z},
  editor = {M\"uller, Jan-Dirk and others},
  volume = {III},
  date = {2003},
  crossref = {rlw}
}
\end{filecontents}

\usepackage[ngerman]{babel}
\usepackage{csquotes}

\usepackage[style=authoryear,sorting=nyt,mincrossrefs=1]{biblatex}
\addbibresource{\jobname.bib}

\DeclareDelimFormat{multilistdelim}{\slash}
\DeclareDelimFormat{finallistdelim}{\slash}

\DeclareBibliographyDriver{reference}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \renewbibmacro*{date}{\printdate}% ← treat dates specially for references
  \iffieldundef{shorttitle}
    {}%
    {\printfield{shorttitle}\printtext{ = }}%
  \iffieldundef{editor}
    {}
    {\usebibmacro{editor+others}%
     \setunit{\labelnamepunct}\newblock}%
  \usebibmacro{maintitle+title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit
  \printfield{edition}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \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}}

\newbibmacro*{publisher+location+date}{%
  \printtext[parens]{\usebibmacro{date}}%
  \setunit*{\addspace}%
  \printlist{location}%
  \iflistundef{publisher}
    {\setunit*{\addcomma\space}}
    {\setunit*{\addcolon\space}}%
  \printlist{publisher}%
  \newunit}

\renewbibmacro*{related:multivolume}[1]{%
  \entrydata*{#1}{%
    \printtext{%
      \printfield{volume}%
      \printfield{part}}%
    \setunit*{\space}%
    \printtext[parens]{\printdate}%
    \setunit*{\space}%
    \printtext[parens]{\usebibmacro{title}}%
    \setunit*{\addspace}%
    \ifboolexpr{
      test {\ifnamesequal{author}{savedauthor}}
      or
      test {\ifnameundef{author}}
    }
      {}
      {\usebibmacro{bytypestrg}{author}{author}%
       \setunit{\addspace}%
       \printnames[byauthor]{author}
       \newunit\newblock}%
    \ifboolexpr{
      test {\ifnamesequal{editor}{savededitor}}
      or
      test {\ifnameundef{editor}}
    }
      {}
      {\usebibmacro{byeditor+others}%
       \newunit\newblock}}}

\NewBibliographyString{revision}

\DefineBibliographyStrings{ngerman}{%
  byeditor = {hrsg\adddotspace v\adddot},
  revision = {neubearb\adddot},
}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

在此处输入图片描述

相关内容