Biblatex:如何删除单个参考书目中的参考编号?

Biblatex:如何删除单个参考书目中的参考编号?

我有以下 LaTeX 代码

\documentclass{article}
\usepackage{filecontents}
\usepackage{biblatex}

\DeclareBibliographyCategory{bestpapergyro}
\DeclareBibliographyCategory{bestpaperstark}

\begin{filecontents}{\jobname.bib}
    @misc{Gyro2012,
        author = {Gearloose, Gyro},
        title = {1st paper},
        category = bestpapergyro,
    }
    @misc{Gyro2013,
        author = {Gearloose, Gyro},
        title = {2nd paper},
    }
    @misc{Stark2012,
        author = {Stark, Anthony Edward},
        title = {3rd paper},
    }
    @misc{Stark2013,
        author = {Stark, Anthony Edward},
        title = {4th paper},
        category = bestpaperstark,
    }
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\nocite{*}

\addtocategory{bestpapergyro}{Gyro2012}
\addtocategory{bestpaperstark}{Stark2013}

\noindent Favorite paper by Gyro Gearloose:
\begin{itemize}
    \item \printbibliography[heading=none,category=bestpapergyro]
\end{itemize}

\noindent Favorite paper by Anthony Stark:
\begin{itemize}
    \item \printbibliography[heading=none,category=bestpaperstark]
\end{itemize}

\printbibliography

\end{document}

输出结果如下

Favorite paper by Gyro Gearloose:
• [1] Gyro Gearloose. 1st paper.

Favorite paper by Anthony Stark:
• [4] Anthony Edward Stark. 4th paper.

References
[1] Gyro Gearloose. 1st paper.
[2] Gyro Gearloose. 2nd paper.
[3] Anthony Edward Stark. 3rd paper.
[4] Anthony Edward Stark. 4th paper.

基本上,我想以单独的条目形式显示每位作者的最佳论文列表。目前,我通过为每位作者创建一个最佳论文类别,然后打印这些类别的参考书目来实现此目的。

我有两个问题:
1. 如何去掉条目中的参考编号(不改变最后的参考书目样式)?
2. 有没有比指定自己的类别更简单的方法来打印单个条目的参考书目?

答案1

我会定义一个新的书目环境和一个新的标题。这样你就可以更好地控制输出

  1. 基于itemize

    \defbibenvironment{favoritebib}
      {\itemize}
      {\enditemize}
      {\item}
    
  2. 新标题使用subsubsection*

    \defbibheading{favoritebib}[\refname]{%
      \subsubsection*{Favorite paper by~#1:}}
    
  3. 输出是通过printbibliography一些选项完成的:

    \printbibliography[heading=favoritebib,title=Gyro Gearloose,category=bestpapergyro,env=favoritebib]
    

以下是完整的 MWE:

\documentclass{article}
\usepackage{filecontents}
\usepackage{biblatex}

\DeclareBibliographyCategory{bestpapergyro}
\DeclareBibliographyCategory{bestpaperstark}

\begin{filecontents}{\jobname.bib}
    @misc{Gyro2012,
        author = {Gearloose, Gyro},
        title = {1st paper},
        category = bestpapergyro,
    }
    @misc{Gyro2013,
        author = {Gearloose, Gyro},
        title = {2nd paper},
    }
    @misc{Stark2012,
        author = {Stark, Anthony Edward},
        title = {3rd paper},
    }
    @misc{Stark2013,
        author = {Stark, Anthony Edward},
        title = {4th paper},
        category = bestpaperstark,
    }
\end{filecontents}

\addbibresource{\jobname.bib}

\defbibenvironment{favoritebib}
  {\itemize}
  {\enditemize}
  {\item}
\defbibheading{favoritebib}[\refname]{%
    \subsubsection*{Favorite paper by~#1:}}
\begin{document}

\nocite{*}

\addtocategory{bestpapergyro}{Gyro2012,Gyro2013}
\addtocategory{bestpaperstark}{Stark2013}


\printbibliography[heading=favoritebib,title=Gyro Gearloose,category=bestpapergyro,env=favoritebib]

\printbibliography[heading=favoritebib,title=Anthony Stark,category=bestpaperstark,env=favoritebib]

\printbibliography

\end{document}


正如 lockstep 指出的那样,您可以将其\fullcite用于单个作者引用。与上面的例子相关:

\subsubsection*{Favorite paper by Anthony Stark:}
\begin{itemize}
 \item \fullcite{Stark2012}
\end{itemize}

当然可以将其放在一个新的宏中:

\newrobustcmd*\citefavorite[2]{%
\subsubsection*{Favorite paper by~#1:}
\begin{itemize}
 \item \fullcite{#2}
\end{itemize}%
}

现在您可以使用\citefavorite{<Name of Author>}{<cite key>}

相关内容