扩展现有的 BibLaTeX 条目类型或创建新的条目类型?

扩展现有的 BibLaTeX 条目类型或创建新的条目类型?

我需要对manualBibLaTex 的条目类型进行一个小的修改。修改是添加一个字段并打印该字段而不是字段(version如果已在条目中设置)。我的问题是我应该扩展现有manual类型还是创建一个新的条目类型(如)extmanual。我希望两种变体都能正常工作,但我想知道社区认为什么是最佳实践。

另外:使用\DeclareBibliographyDriver{manual}in而不是 eg ,所以我想我无论如何都无法彻底更改现有的驱动程序,并且我必须为两种变体重新(声明)完整的驱动程序---对吗?(如果可能的话,根据我的需要进行更改感觉是错误的。)standard.bbx\printfield{version}\usebibmacro{version}manual\DeclareFieldFormat{version}{...}

答案1

对于基本数据类型不变的细微修改,我只会修改驱动程序(或相关的 bibmacros,如果可能的话,因为这通常涉及的代码较少),而不会定义新的条目类型。但如果作品的类型与通常所@manual代表的类型有本质上的不同,并且您打算引用更多这种类型的作品,那么新的驱动程序可能仍然有意义。

根据问题描述和建议的新名称,@extmanual我猜我们正在讨论第一种情况,在这种情况下我只需修改驱动程序。


您可以使用xpatch\xpatchbibdriver不必完全复制其定义(例如biblatex:\fullcite 产生的结果与参考书目条目不同)。 也可以看看Biblatex 的 bibmacros、参考书目驱动程序、格式 - 修补或重新定义?

以下补丁将在for条目edition后添加字段version@misc

\xpatchbibdriver{misc}
  {\printfield{version}}
  {\printfield{version}%
   \newunit\newblock
   \printfield{edition}}
  {}{}

编辑:最初我@manual在这里修补了驱动程序以更接近问题,但我刚刚意识到即使没有修补也@manual已经可以打印edition,所以这将是毫无意义的练习。

相关内容