我正在用 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。希望这对某些人有帮助!