平均能量损失

平均能量损失

我正在使用制作参考书目biblatex-chicago,我想通过在整本书的引用之后写章节来引用书中的章节,就像在这个例子中(CMOS 14.106):

样品,约翰。竞选财务改革的谬误。芝加哥:芝加哥大学出版社,2006 年。参见第 7 章“现代竞选财务法的起源”。

我认为我应该尝试将这些信息放入该addendum字段中。我在书中引用了 DOI,但是addendumdoi或字段url,如biblatex-chicago包文档所述(22)。我希望addendum将放置在结尾的参考。


最小工作示例

\documentclass[12pt]{article}

\begin{filecontents}{citations.bib}
    @book{Sedgwick:1997,
        Author = {Sedgwick, Eve Kosofsky},
        Title = {Novel Gazing: Queer Readings in Fiction},
        Series = {Series Q},
        Location = {Durham, NC},
        Publisher = {Duke University Press},
        Year = {1997},
        URL = {https://doi.org/10.1215/9780822382478},
        Addendum = {See esp. "Paranoid Reading and Reparative Reading; or, You're So Paranoid, You Probably Think This Introduction Is about You," 1--37.}}
\end{filecontents}

\usepackage[notes,backend=biber,isbn=false]{biblatex-chicago}
\addbibresource{citations.bib}

\usepackage[hidelinks]{hyperref}
\urlstyle{same}

\begin{document}

    \begin{flushleft}

        \nocite{*}
        \printbibliography

    \end{flushleft}

\end{document}

输出

给出的代码产生了这个:

输出

为了澄清起见,我希望它是这样的:

塞奇威克,伊芙科索夫斯基。小说凝视:小说中的酷儿解读. Q 系列。达勒姆,北卡罗来纳州:杜克大学出版社,1997 年。https://doi.org/10.1215/9780822382478. 请参阅“偏执型阅读和修复性阅读;或者,你太偏执了,你可能认为这篇导言是关于你的”,1-37。

答案1

正如 David Purton 所提到的,获得所需结果的一种方法是重新排序参考书目驱动程序中的代码。(恕我直言,这是语义上最好的方法,但也是需要最多代码的方法。)如果手动biblatex-chicago完成,这将需要大量的代码,甚至修补也不是那么容易,因为有些驱动程序会\printfield{addendum}多次调用。所以这可能不是你想在这里看到的选项。

另一个解决方案是使用 Biber 源映射将字段的内容复制addendum到另一个字段,然后通过修补将其打印在参考书目驱动程序的最末端finentry。不幸的是,biblatex-chicago这并不容易使用自定义数据模型来定义新字段,并且已经用尽了所有用户可定义的usera字段userf

因此,我的下一次尝试是尝试保存addendum参考书目驱动程序开头的内容,然后删除该字段,然后使用 恢复并打印参考书目驱动程序末尾的字段finentry。不幸的是,biblatex-chicago不支持begentry可用于挂接到条目开头的 bibmacro。驱动程序开头唯一一致使用的 bibmacro 是bibindexbibindex是一个特殊的 bibmacro,用于索引参考书目条目,它在引文中被明确禁用,因此我们需要滥用bibmacro并解决它在引文中被禁用的事实。

\documentclass[12pt]{article}
\usepackage{csquotes}
\usepackage[notes,backend=biber,isbn=false]{biblatex-chicago}
\usepackage[hidelinks]{hyperref}
\urlstyle{same}

% save addendum field in a macro and clear it
\newbibmacro*{begentry:fake}{%
  \savefield{addendum}{\savedaddendumfield}%
  \clearfield{addendum}}

% use bibindex has begentry hook
\renewbibmacro*{bibindex}{%
  \ifbibindex
    {\indexnames{labelname}%
     \indexfield{indextitle}}
    {}%
  \usebibmacro{begentry:fake}}

% enable our hook in citations as well
\AtUsedriver{\letbibmacro{bibindex}{begentry:fake}}

% restore field contents and print them
% obeys biblatex-chicago's 'addendum' option for citations
\renewbibmacro*{finentry}{%
  \ifboolexpr{togl {blx@bibliography} or togl {cms@addendum}}
    {\restorefield{addendum}{\savedaddendumfield}%
     \printfield{addendum}}
    {}%
  \finentry}

\begin{filecontents*}{\jobname.bib}
@book{Sedgwick:1997,
  Author    = {Sedgwick, Eve Kosofsky},
  Title     = {Novel Gazing: Queer Readings in Fiction},
  Series    = {Series Q},
  Location  = {Durham, NC},
  Publisher = {Duke University Press},
  Year      = {1997},
  doi       = {10.1215/9780822382478},
  Addendum  = {See esp. \enquote{Paranoid Reading and Reparative Reading;
               or, You're So Paranoid, You Probably Think This
               Introduction Is about You,} 1--37.},
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
  \null\vfill % only for the example

  Lorem\autocite{Sedgwick:1997}
  \printbibliography
\end{document}

Sedgwick,Eve Kosofsky,编辑。小说凝视:小说中的酷儿阅读。Q 系列。北卡罗来纳州达勒姆:杜克大学出版社,1997 年。https://doi.org/10.1215/9780822382478。请特别参阅“偏执阅读和修复性阅读;或者,你太偏执了,你可能认为这篇导言是关于你的”,1-37。


我认为 David 的想法related非常巧妙,我想进一步发展。我们可以定义一个新的relatedtype seeesp,可以用作这样的参考。

\documentclass{article}

\usepackage[notes,backend=biber,isbn=false]{biblatex-chicago}

\NewBibliographyString{seeesp}

\DefineBibliographyStrings{english}{%
  seeesp = {see esp\adddot},
}

\urlstyle{same}

\newbibmacro*{related:seeesp}[1]{%
  \entrydata*{#1}{%
    \ifboolexpr{   test {\ifentrytype{incollection}}
                or test {\ifentrytype{inproceedings}}}
      {\printnames{author}%
       \newcunit} 
      {}%
    \usebibmacro{title+stitle}%
    \newcunit
    \usebibmacro{chapincoll}%
    \newcunit
    \usebibmacro{volume+pages}}}

\begin{filecontents}{\jobname.bib}
@suppcollection{Sedgwick:1997:paranoid,
  crossref = {Sedgwick:1997},
  author   = {Sedgwick, Eve Kosofsky},
  title    = {Paranoid Reading and Reparative Reading;
              or, You're So Paranoid, You Probably Think
              This Introduction Is about You},
  pages    = {1-37},
}
@collection{Sedgwick:1997,
  editor      = {Sedgwick, Eve Kosofsky},
  title       = {Novel Gazing: Queer Readings in Fiction},
  series      = {Series Q},
  location    = {Durham, NC},
  publisher   = {Duke University Press},
  date        = {1997},
  doi         = {10.1215/9780822382478},
  related     = {Sedgwick:1997:paranoid},
  relatedtype = {seeesp},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\null\vfill
Filler text \autocite[5]{Sedgwick:1997}.
Filler text \autocite[6]{Sedgwick:1997}.
\printbibliography
\end{document}

Sedgwick,Eve Kosofsky,编辑。小说凝视:小说中的酷儿阅读。Q 系列。北卡罗来纳州达勒姆:杜克大学出版社,1997 年。https://doi.org/10.1215/9780822382478。请参阅偏执阅读和修复性阅读;或者,你太偏执了,你可能认为这篇介绍是关于你的,1-37。


请注意,从技术上讲,Sedgwick:1997@collection而不是@book@suppcollection是 的介绍和其他补充部分的条目类型@collection。“正常”章节将是@incollection

答案2

我认为最简单的方法是使用相关条目。否则,您需要更改驱动程序中的某些内容,而这对于 来说并不总是那么简单biblatex-chicago。(如果您希望注释出现在长引文中,请将其添加related=true到您的biblatex选项中。默认值为related=bib。)

平均能量损失

\documentclass{article}

\begin{filecontents}[overwrite]{\jobname.bib}
@misc{Sedgwick:1997:note,
  note = {\bibstring{seeesp} \mkbibquote{Paranoid Reading and Reparative Reading; or, You're So Paranoid, You Probably Think This Introduction Is about You}, \mknormrange{1-37}},
  options = {skipbib}
}

@book{Sedgwick:1997,
  author = {Sedgwick, Eve Kosofsky},
  title = {Novel Gazing: Queer Readings in Fiction},
  series = {Series Q},
  location = {Durham, NC},
  publisher = {Duke University Press},
  date = {1997},
  url = {https://doi.org/10.1215/9780822382478},
  related = {Sedgwick:1997:note},
}
\end{filecontents}

\usepackage[isbn=false]{biblatex-chicago}
\addbibresource{\jobname.bib}

\NewBibliographyString{seeesp}

\DefineBibliographyStrings{english}{%
  seeesp = {see esp\adddot},
}

\urlstyle{same}

\begin{document}
\null\vfill
Filler text \autocite[5]{Sedgwick:1997}.
Filler text \autocite[6]{Sedgwick:1997}.
\printbibliography
\end{document}

MWE 输出

相关内容