使用 biblatex 自定义引用键

使用 biblatex 自定义引用键

我有以下内容:

\documentclass{article}
\begin{filecontents*}{mybib.bib}
@ARTICLE{refconf,
    author = {author},
    title = {title},
    keywords = {conference}}
@ARTICLE{refjour,
    author = {author},
    title = {title},
    keywords = {journal}}
@ARTICLE{ref,
    author = {author},
    title = {title}}
\end{filecontents*}
\usepackage[style=numeric-comp,backend=biber]{biblatex}
\bibliography{mybib}
\defbibheading{bibempty}{}

\begin{document}
\cite{refjour}, \cite{refconf}, \cite{ref}
\subsection{Personal Conference references}
\printbibliography[keyword=conference,heading=bibempty]
\subsection{Personal Journal references}
\printbibliography[keyword=journal,heading=bibempty]
\subsection{Other references}
\printbibliography[heading=bibempty]
\end{document}

这还不算太糟,但我需要自定义标签,以便\cite{refjour}在正文和参考文献列表中产生 [j.1](j. 代表期刊),并\cite{refconf}产生 [c.1],最后\cite{ref}产生 [1]。

答案1

A类似问题到这个是最近发布的。可以使用选项labelnumber轻松添加前缀。此选项需要全局启用。对于最后一个参考列表,您可能希望过滤掉前面的关键字。过滤器可以多次使用。所有这些都使用下面的 MWE 进行了演示。prefixnumbers\printbibliographydefernumbersnotkeyword

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=numeric-comp,defernumbers=true]{biblatex}

\begin{filecontents*}{\jobname.bib}
@ARTICLE{refconf,
    author = {author},
    title = {title},
    keywords = {conference}}
@ARTICLE{refjour,
    author = {author},
    title = {title},
    keywords = {journal}}
@ARTICLE{ref,
    author = {author},
    title = {title}}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
\cite{refjour}, \cite{refconf}, \cite{ref}
\printbibheading
\printbibliography[keyword=conference,prefixnumbers={c.},
  heading=subbibliography,title={Personal Conference references}]
\printbibliography[keyword=journal,prefixnumbers={j.},
  heading=subbibliography,title={Personal Journal references}]
\printbibliography[notkeyword=journal,notkeyword=conference,prefixnumbers={},
  heading=subbibliography,title={Other references}]
\end{document}

相关内容