我有以下 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
我会定义一个新的书目环境和一个新的标题。这样你就可以更好地控制输出
基于
itemize
\defbibenvironment{favoritebib} {\itemize} {\enditemize} {\item}
新标题使用
subsubsection*
:\defbibheading{favoritebib}[\refname]{% \subsubsection*{Favorite paper by~#1:}}
输出是通过
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>}