我有一个混合了所有参考类型(主要是书籍和文章)的参考书目。现在,我希望能够将文章与其他内容分开,并将它们显示在单独的参考书目子标题下,例如“文章”。
这可能吗?
我用
\usepackage{natbib}
\bibliographystyle{apalike}
作为我的参考书目并使用以下命令引用:
\newcommand\mycite[2][]{%
\citeauthor{#2}\ (\citeyear{#2})\ifx#1\undefined\else, #1\fi}
\newcommand\myfootcite[2][]{\footnote{\mycite[#1]{#2}}}
\def\prevcite{} % initialize \prevcite
%% macro for in-text citation
\newcommand\tcite[2][]{%
\def\newcite{#2}
\ifx\prevcite\newcite
Ibid.%
\else%
\gdef\prevcite{#2}% update \prevcite
\citeauthor{#2}\ (\citeyear{#2})%
\fi
\ifx#1\undefined\else, #1\fi}
%% macro for in-footnote citation
\newcommand\fcite[2][]{\footnote{\tcite[#1]{#2}}}
非常感谢您的建议!
答案1
请查看 CTAN 或 TeXLive 发行版上的 biblatex 示例。此可能的解决方案基于这些示例。
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{bib.bib}
@article{death-star,
author = {Bevel Lemelisk and Wilhuff Tarkin and Darth Vader and Darth Sidious},
title = {Death Star},
howpublished = {Alderaan and Yavin 4},
year = {0 BBY}
}
@misc{death-star-2,
author = {Bevel Lemelisk and Wilhuff Tarkin and Darth Vader and Darth Sidious},
title = {Death Star II},
howpublished = {Endor},
year = {4 ABY}
}
@article{abc,
author = {Abc, D.},
title = {The Letter Fantasies},
year = 1492,
keywords = {one}
}
@Book{efg,
author = {Efg, H.},
title = {Alphabet Soup},
year = 1942,
keywords = {two}
}
\end{filecontents}
\usepackage[backend=biber,
% style=authoryear, % uncomment to display author-year
]{biblatex}
\defbibfilter{other}{
not type=article
}
%
\addbibresource{bib.bib}
\begin{document}
They first built \emph{Death Star}~\autocite{death-star}.
The design flaw was found in \autocite[Lemelisk et al., Chapter 3, p. 123][]{death-star}.
To address the flaw, they designed \emph{Death Star 2}~\autocite{death-star-2}
that featured many smaller diameter heat exhaust vents.
Read the letter fantasies \cite{abc} or stories from the a-soup \cite{efg}.
\nocite{*}
\printbibheading
\printbibliography[heading=subbibliography,title={Articles},type=article]
\printbibliography[heading=subbibliography,title={Other Sources},filter=other]
\end{document}