我有一个包含以下设置的文档:
\usepackage[square,authoryear]{natbib}
...
\bibliographystyle{apalike}
\bibliography{bib}
生成的参考书目条目如下:
Batty, M. (2007)。《城市与复杂性》。麻省理工学院出版社。
然而,PennState 参考资料页面显示我期望的是这样的:
[Batty, 2007] Batty, M.《城市与复杂性》。麻省理工学院出版社。2007 年。
我应该怎么做才能使配方更接近后者?
答案1
接近您想要的样式文件是样式named
,但是与不兼容natbib
,并且与规范无关apa
。
如果要使用它,请在序言中添加以下几行
\makeatletter
\let\@internalcite\cite
\def\cite{\def\citeauthoryear##1##2{##1, ##2}\@internalcite}
\def\shortcite{\def\citeauthoryear##1##2{##2}\@internalcite}
\def\@biblabel#1{\def\citeauthoryear##1##2{##1, ##2}[#1]\hfill}
\makeatother
然后使用
\bibliographystyle{named}
梅威瑟:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Book{Batty:2007,
author = {Michael Batty},
title = {Cities and Complexity},
publisher = {MIT Press},
year = 2007}
\end{filecontents*}
\makeatletter
\let\@internalcite\cite
\def\cite{\def\citeauthoryear##1##2{##1, ##2}\@internalcite}
\def\shortcite{\def\citeauthoryear##1##2{##2}\@internalcite}
\def\@biblabel#1{\def\citeauthoryear##1##2{##1, ##2}[#1]\hfill}
\makeatother
\begin{document}
This a citation \cite{Batty:2007}
\bibliographystyle{named}
\bibliography{\jobname}
\end{document}
输出: