如何在编号参考书目中按文本出现顺序排列并在文本中包含作者和年份?

如何在编号参考书目中按文本出现顺序排列并在文本中包含作者和年份?

我正在用 LaTeX 写我的硕士论文。我想要的是能够拥有像这里报告的那样的参考书目,即按引用出现顺序排列的书目(注意:在文本中,而不是在 .bib 文件中!),同时能够使用诸如 \citeauthors{...} 等命令在文本中包含作者。

我知道第二部分可以通过 natbib 实现,但是它无法让我按照文中出现的顺序获得参考文献。

我读到过,书目样式“ieeetr”会自动处理文本中的出现顺序,但这与在文本中插入作者和年份不兼容。也就是说,使用“ieeetr”样式,它给我

(author?)(year?)

作为命令的结果

\citeauthor{...} \citeyear{...}

因为我猜测这不是一种与作者年份兼容的风格。

我也尝试了 makebst,但结果没有改变。

为了更清楚起见,有以下代码:

\documentclass[pdftex,a4paper,12pt]{report}

\usepackage[latin9]{inputenc}
\usepackage[numbers]{natbib}

\begin{document}

\citeauthor{book} \citeyear{book} \cite{book}
\citeauthor{article} \citeyear{article} \cite{article}
\citeauthor{conference} \citeyear{conference} \cite{conference}

\bibliographystyle{ex}
\bibliography{ex}

\end{document}

和这个.bib文件:

@Book{book,
  Title                    = {Book title},
  Author                   = {Book Author},
  Publisher                = {Publisher},
  Year                     = {2012},
  Edition                  = {2},
  Month                    = {June}
}

@Article{article,
  Title                    = {Article title},
  Author                   = {Article Author One and Article Author Two},
  Journal                  = {Journal title of the article},
  Year                     = {1975},
  Pages                    = {230-235},
  Volume                   = {14}
}

@Conference{conference,
  Title                    = {Conference paper title},
  Author                   = {Conference Author One and Conference Author Two and Conference Author Three},
  Booktitle                = {Conference proceedings},
  Year                     = {2008},
  Month                    = {May}
}

它给了我以下结果:

在正文中:

并在参考书目部分:

这不是我想要的。

相反我想要的结果是:

在正文中:

并在参考书目部分:

任何帮助都将不胜感激 :) 谢谢

答案1

借助biblatex包并设置Biber为默认参考书目来解决。

该选项sorting=none按文本外观对参考文献进行排序。

实际上这个代码有效:

\documentclass[pdftex,a4paper,12pt]{report}

\usepackage[latin9]{inputenc}
\usepackage[backend=biber,sorting=none,style=numeric-comp]{biblatex}
\addbibresource{ex.bib}

\begin{document}

\citeauthor{conference} \citeyear{conference} \cite{conference}
\citeauthor{book} \citeyear{book} \cite{book}
\citeauthor{article} \citeyear{article} \cite{article}

\printbibliography

\end{document}

由于我正在使用,所以TeXstudio我必须先运行 LaTeX,然后运行 ​​Biber(使用 F11 或工具->参考书目),然后再运行 LaTeX。希望这对某些人有帮助!

相关内容