如何使用xpatch替换blx-caspervector-base.def中的某些行代码?

如何使用xpatch替换blx-caspervector-base.def中的某些行代码?

如何使用替换来自xpatch中的某些代码行blx-caspervector-base.def这里,即分别将第55、56、70、72行替换为如下代码:

andmore = {\bbx@cetext{\bbx@cnetal}{et\addabbrvspace al\adddot}},
andothers = {\bbx@cetext{\bbx@cnetal}{et\addabbrvspace al\adddot}},

{\bbx@cetext{\bbx@cnetal}{\mkbibemph{et\addabbrvspace al\adddot}}},

{\bbx@cetext{\bbx@cnetal}{\mkbibemph{et\addabbrvspace al\adddot}}},

任何帮助,将不胜感激。

答案1

这些行都在 的上下文中\DefineBibliographyStrings{english}。因此,您可以轻松地用 覆盖它们

\DefineBibliographyStrings{english}{
  andmore   = {\bbx@cetext{\bbx@cnetal}{et\addabbrvspace al\adddot}},
  andothers = {\bbx@cetext{\bbx@cnetal}{et\addabbrvspace al\adddot}},
}

在您的文档中。

您提到的几对线位于 的不同分支中\iftoggle{bbx:ugly},因此如果您也需要复制它,请使用

\iftoggle{bbx:ugly}
  {\DefineBibliographyStrings{english}{
     andmore   = {\bbx@cetext{\bbx@cnetal}{et\addabbrvspace al\adddot}},
     andothers = {\bbx@cetext{\bbx@cnetal}{et\addabbrvspace al\adddot}},
   }}
  {\DefineBibliographyStrings{english}{
     andmore   = {\bbx@cetext{\bbx@cnetal}{\mkbibemph{et\addabbrvspace al\adddot}}},
     andothers = {\bbx@cetext{\bbx@cnetal}{\mkbibemph{et\addabbrvspace al\adddot}}},
   }}

相关内容