背景

背景

背景

如同这个问题,我希望 BibTeX 引用(例如、、、@collection和其他引用)的书写方式与和引用大致相同。@incollection@phdthesis@article@book

最小工作示例

此示例有一个书目数据库和一个 ConTeXt 文件。

参考书目

保存为db.bib

% Encoding: UTF-8

@collection{CPC_It,
  editor        = {Trezzini, Francesco and Fornara, Stefano and Cocchi, Bruno and Bernasconi, Giorgio A. and {Verda Chiocchetti}, Francesca},
  booktitle     = {Commentario pratico al Codice di diritto processuale civile svizzero},
  booksubtitle  = {Volume I Parte prima: Disposizioni generali (Art. 1-196) },
  location      = {Pregassona},
  date          = {2017},
}

@incollection{IT_CPC85,
  author        = {Trezzini, Francesco},
  title         = {art. 85 CPC},
  crossref      = {CPC_It},
}

@collection{CR_CPC,
  editor        = {Bohnet, François and Haldy, Jacques and Jeandin, Nicolas and Schweizer, Philippe and Tappy, Denis},
  booktitle     = {Code de procédure civile commenté},
  date          = {2011},
  location      = {Bâle},
}

@incollection{CR_CPC85,
  author        = {Bohnet, François},
  title         = {art. 85 CPC},
  date          = {2011},
  location      = {Bâle},
  label         = {Commentaire},
  crossref      = {CR_CPC},
}

语境

\def\textrm{\rm}

\usebtxdataset[impacts][db.bib]
\definebtxrendering[impacts][apa][
  dataset=impacts,
  numbering=yes,
  sorttype=index,
]

\starttext
  \startbackmatter
    \startchapter[title=Bibliography]
      \placelistofpublications[impacts][method=dataset]
    \stopchapter
  \stopbackmatter
\stoptext

实际产量

实际输出类似于:

实际产量

预期输出

预期输出类似于:

预期输出

问题

您如何对@incollection那些可能无法被 ConTeXt 在其 AMA 样式中识别的参考文献进行编码,以致它们看起来与其他参考文献相似(而不是数据转储)?

环境

$ context --version
mtx-context     | current version: 2019.06.11 19:20

答案1

我相信你必须按照ConTeXt 方式的参考书目用户手册。

\def\textrm{\rm}

\usebtxdefinitions[apa]

\usebtxdataset[impacts][db.bib]
\definebtxrendering[impacts][apa][
  dataset=impacts,
  numbering=yes,
  sorttype=index,
]

\starttext
  \startbackmatter
    \startchapter[title=Bibliography]
      \placelistofpublications[impacts][method=dataset]
    \stopchapter
  \stopbackmatter
\stoptext

这给你 APA基本定义

正在收藏博士论文publ-imp-apa.mkvi条目在和 文件中定义publ-imp-apa.lua。除非我弄错了,否则您必须复制文件并对其进行修补以添加收藏元素 (ConTeXt 维基)。至于修补,我认为最简单的方法是查看文件,它们是相当不言自明的。

如果问题是如何修补文件,抱歉,这个答案毫无用处。这是我经过一些修改后得到的结果(我不会在这里放代码,因为我没有正确地修补文件,而是快速复制并更改了 book 的定义。): 丑陋补丁

我认为您应该对样式和类别的更改提供更严格的定义。一旦您有了这个,修补文件应该会更容易。请参阅上面链接的 wiki 文章,了解如何编写样式的示例。它应该适用于修补文件。


根据 OP 的要求,我在这里插入了一些代码以插入文件.tex以获得所需的结果。这不是我建议的样式文件补丁。对象specification没有改变以反映新元素的添加categories。因此引用将不起作用,并且可能会引发其他问题。需要明确的是,这是一个糟糕的解决方案,不应该使用,因为它只是忽略了数据库。您真的应该将集合表示为杂项类别之一,或者您应该打开有问题的两个文件(查看上下文日志以查找路径)并正确修补它们。

\startsetups btx:apa:list:collection
    \btxflush{editor}
    \btxcomma
    \btxlabeltext{apa:Editors}
\stopsetups

相关内容