将 natbib 参考书目缩减为一行

将 natbib 参考书目缩减为一行

我希望我的参考资料看起来像

Foo 等人,2008 年,《自然》,100,200 • Bar & Baz 等人,2010 年,《科学》,300,400 • 爱因斯坦,1905 年,《新科学家》,5,6

其中“•”可能是一些可配置的分隔符,而不是像:

Foo 等人2008 年,《自然》,100,200

Bar & Baz 等人,2010 年,Science,300,400

爱因斯坦,1905 年,《新科学家》,第 5、6 页

我的问题和之前类似的问题是我使用 natbib 和作者年份引用。这是一个最小的例子,它使用Stefan 的回答,但也存在一些问题:

\documentclass{article}
\usepackage{natbib}

\usepackage{paralist}
\renewenvironment{thebibliography}[1]{%
  \section*{\refname}%
  \let\par\relax\let\newblock\relax%
  \inparaenum[{\textbullet}]}{\endinparaenum}
\renewcommand{\bibitem}[1]{\item}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{Author,
    Author = {{Author}, A.},
    Journal = {Science},
    Month = dec,
    Pages = {493-+},
    Title = {{Title A}},
    Volume = 490,
    Year = 1922,
    }

@article{Buthor,
    Author = {{Buthor}, B.},
    Journal = {Nature},
    Month = nov,
    Pages = {748-+},
    Title = {{Title B}},
    Volume = 136,
    Year = 1962,
    }
\end{filecontents}

\begin{document}

Citations: \cite{Author,Buthor}

\bibliography{\jobname}
\bibliographystyle{plain}

\end{document}

问题是:(1)文中的引用是问号(我得到了类似的错误Package natbib Warning: Citation `Author' on page 1 undefined on input line 37.)和(2)我每次都重新定义列表环境来添加项目符号,这在语义上感觉不对,导致Package paralist Warning: Incorrect label; no or multiple counters.

第三个问题(我认为是独立的)与我的 BiBTeX 样式文件有关,mn.bst如果我使用那个而不是,例如plain,不仅引用是问号,而且参考文献也乱七八糟,看起来像

• 作者(1922)]作者 Author A.,1922,Science,490,493 • Buthor(1962)]Buthor Buthor B.,1962,Nature,136,748

请注意,如果我注释掉\usepackage{paralist}和之间的材料,引用和参考看起来就很好\usepackage{filecontents}

非常欢迎对这些问题中的任何一个或全部提供指导,尤其是推迟我不可避免的向 biblatex 迁移的指导!:-)

答案1

删除\renewcommand{\bibitem}[1]{\item}似乎有效。

编辑:试试这个....

\documentclass{article}
\usepackage{natbib}

\usepackage{paralist}
\let\olditem\item
\renewenvironment{thebibliography}[1]{%
  \section*{\refname}
  \let\par\relax\let\newblock\relax
  \renewcommand{\item}[1][]{\olditem[\textbullet]}%
  \inparaenum}{\endinparaenum}

\begin{document}
Citations: \cite{Author,Buthor}
\bibliography{\jobname}
\bibliographystyle{mn}

\end{document}

答案2

我想我肯定已经将这个问题用作我的工作模板......但是这个包:https://github.com/keflavich/tex_compact_bib完全实现了上述内容,同时在转到“et al”之前将参考书目限制为 3 位作者。

相关内容