尝试制作带注释的引文样式,出现“生成引文和参考书目时出错”

问题描述

我对一些 csl 代码有疑问。

我正在尝试将可通过 Zotero 获得的“自然”样式转换为带注释的样式,该样式通过引用“额外”字段来获取注释(类似于 APA 第 7 版注释)。

我不熟悉 csl 中的编码,所以我发现多亏了谷歌,我所要做的就是添加该行 <text variable="note" display="block"/> </layout>之前 (在此处找到此信息:https://forums.zotero.org/discussion/19552/annotated-bibliography-in-mla-or-chicago-style

我这样做了,现在在 Zotero 的样式编辑器中生成样式时出现以下错误

生成引文和参考书目时出错: citeproc-js 错误:级别不匹配错误:想要 bib_first 但找到 bib_other

我已经使用 csl 样式和区域设置编辑器 (https://validator.citationstyles.org/) 检查了我的代码,它没有给我任何错误。谷歌搜索错误消息并没有给出任何好的结果。一旦它工作,我试图在 Microsoft Word 中使用这种样式。

这是代码的最后几行(如果删除<text variable="note" display="block"/> 行,则错误消失了):

        <text macro="editor"/>
        <text macro="volume"/>
        <text variable="page"/>
        <text macro="issuance"/>
        <text macro="access"/>
      </group>
      <text variable="note" display="block"/> 
    </layout>
  </bibliography>
</style>

如果有人能帮忙解决这个问题,我将不胜感激。谢谢!

解决方法

好的,我现在可以通过替换我添加的行来解决这个问题

<text variable="note" prefix=""/>

不再有错误消息,引文看起来很棒!我会留下这个问题,以防有人正在或将要遇到同样的问题。

,

我尚未对此进行测试,但我认为问题在于您仅在 display="block" 下的单个元素上使用了 <layout/>。根据 https://docs.citationstyles.org/en/1.0.1/specification.html#display,“显示属性 ... 可用于将各个书目条目组织成一个或多个文本块。如果使用,所有呈现元素都应在显示属性的控制之下。强>"

如果您希望注释出现在新行上,我会尝试在参考书目部分引入一个新的 <group display="block">...</group>,它包含 <layout/> 的原始内容,然后是 <text variable="note" display="block"/> .