biblatex,添加类别

biblatex,添加类别

我已在多个论坛询问过以下问题,但均未成功。

请考虑使用 biblatex 命令来定义类别并将类别分配给 .bib 条目:

\DeclareBibliographyCategory{AAA}
\addtocategory{AAA}{aaa}

我的问题是:有没有办法根据条目检索类别?例如\CatOfBook{aaa}--> AAA 之类的方法?

我对 LaTeX 编程一无所知,但我怀疑您需要在 biblatex.sty 文件的某个位置添加新功能。我非常感谢任何提示,或者只是解释一下它有多难。

我认为我需要这个的更广泛的原因如下。我使用上面的分类命令来对我的参考书目进行分段,并且:

\printbibliography[heading=AAA,category=aaa]

结果就像

section AAA
Aut90 ----
Aut93b ----

section BBB
Aut92---
Aut93a --

(同一作者有多种不同类别的书籍)

我想要一种\cite命令,使其输出类似的内容: A-Aut90, B-Aut93a, A-Aut93b

我希望我已经清楚我的问题了

答案1

忘记我之前的消息。

Biblatex 已更新,正是我所寻找的。如果您感兴趣,请查看选项 prefixnumbers(已将选项 prefixnumbers 添加到 \printbibliography 2010-08-04;已将对 prefixnumbers 的支持添加到 bibliography style alphabetic 2011-01-05)。

对于您获得的输出类型,请查看 http://www.ctan.org/tex-archive/macros/latex/exptl/biblatex/doc/examples/19-alphabetic-prefixed.tex//.pdf

为了实现书目项目之间的交叉引用,我使用以下代码

\DeclareCiteCommand{\bbx@crossref}% 
  {}
  {\ifsingletitle%
    {\printtext[bibhyperref]{\printnames{labelname}}%
     \setunit{\space}}%
    {
    \printtext[bibhyperref]{[%
        \printfield[citetitle:book]{prefixnumber}%
    \printfield{labelalpha}%
        \printfield{extraalpha}]}
     }}%
  {}%
  {}

并通过类似以下的方式重新声明 incollection 和 inbook 类型的驱动程序:

\DeclareBibliographyDriver{incollection}{%
 ......
  \iffieldundef{crossref}%
         {}
         {\printtext{\setunit{\unspace}}
      \printtext{\bbx@crossref{\thefield{crossref}}}%
        \newunit\newblock
    }

Biblatex 确实很棒!

欢迎评论我最良好的祝愿

相关内容