我希望我的参考文献在文中用方括号引用,并按照它们在论文中出现的顺序引用,就像这样[1]
。而参考文献采用 APA 格式,如下所示:
[1] Bouwkamp, JG 和 Bolhom, JK,1963 年,《两层钢框架结构的动态响应》,《美国地震学会公报》,第 56 卷,第 6 期,1963 年 12 月,第 1289-1303 页。
我尝试使用\bibliographystyle{unsrt,apalike}
但似乎我们不能混合两者,那么如何产生上述格式?
使用apalike
仅生成的未按其在文本中出现顺序排序的参考文献。并且unsrt
仅使用生成的参考文献格式,例如:
[1] JG Bouwkamp 和 JK Bolhom。《两层钢框架结构的动态响应》,《美国地震学会公报》,第 56 卷,第 6 期,第 1289-1303 页,1963 年。
所以我想将引用样式设为“unsrt”,但将参考书目样式设为“APA”,该怎么做?
答案1
虽然使用 很难做到这一点,natbib
但使用 可以很简单地做到这一点biblatex
:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@incollection{incollection,
Author = {AuthorOne, First and AuthorTwo, Second and AuthorThree, Third and AuthorFour, Fourth},
Booktitle = {Edited Book on Important Stuff},
Editor = {EditorOne, Ed and EditorTwo, Ed},
Title = {Article Title},
Year = {2017}}
@inproceedings{inproceedings,
Author = {AuthorOne, First and AuthorTwo, Second and AuthorThree, Third and AuthorFour, Fourth},
Booktitle = {Proceedings of the Conference on Important Stuff},
Title = {Article Title},
Year = {2016}}
\end{filecontents*}
\usepackage[american]{babel}
\usepackage[bibstyle=apa,citestyle=numeric,sorting=none]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\DeclareFieldFormat{labelnumberwidth}{[#1]}
\defbibenvironment{bibliography}
{\list
{\printfield[labelnumberwidth]{labelnumber}}
{\setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\leftmargin}{0pt}%
\setlength{\labelsep}{\biblabelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\itemindent}{\labelwidth}%
\addtolength{\itemindent}{\labelsep}%
\setlength{\parsep}{\bibparsep}}%
\renewcommand*{\makelabel}[1]{\hss##1}}
{\endlist}
{\item}
\addbibresource{\jobname.bib}
\begin{document}
Citing something \autocite{incollection}
Citing something else \autocite{inproceedings}
Citing again \autocite{incollection}
\printbibliography
\end{document}