根据文本中出现的参考书目列出

根据文本中出现的参考书目列出

我正在为 Elsevier 撰写一篇文章,我希望参考书目根据文中的引用出现在“参考文献”部分。

例如

我的论文介绍

我希望参考 29 显示为参考编号 1,而不是 29。

我正在研究以下序言

\documentclass[preprint,12pt]{elsarticle}
% !TeX spellcheck = en_US 
\usepackage{siunitx}
\sisetup{detect-weight, detect-display-math}
\sisetup{detect-inline-weight=math}
\sisetup{mode=text,per-mode=symbol}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{pgfplots}
\usepackage{pdflscape}
\pgfplotsset{compat=newest}
\usetikzlibrary{plotmarks}
\usetikzlibrary{arrows.meta}
\usepgfplotslibrary{patchplots}
\newlength\fwidth
\setlength{\fwidth}{0.8\textwidth}
\pgfplotsset{plot coordinates/math parser=false}
\usepackage{overpic}
\pgfplotsset{compat=1.15}
\usepackage{float}
\usepackage{etoolbox}
\bibliographystyle{abbrvnat}
\usepackage{bicaption}
\usepackage{makecell}
\renewcommand\theadfont{\bfseries}
\renewcommand\theadgape{}
\usepackage[skip=1ex, labelfont=bf]{caption}
\usepackage[skip=0.333\baselineskip]{caption}
\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\def\UrlFont{\normalfont}
\sisetup{per-mode=symbol}
\usepackage[margin=2.5cm]{geometry} 
\usepackage[skip=0.333\baselineskip]{caption}
\usepackage{amssymb,amsmath}
\usepackage{url}
\usepackage{hyperref}
\journal{Fuel}
\begin{document}

\section{Introduction}
Oil shales (OS) are fine grain sedimentary rocks that contain organic material of high molecular weight, called kerogen, disseminated in its inorganic matrix [\cite{scouten1990fuel}, \cite{allred1982oil}].

\section*{References}
\bibliography{bilbiography}

%% else use the following coding to input the bibitems directly in the
%% TeX file.

\end{document}

\endinput

参考书目中有 37 处参考文献,我希望每处参考文献在参考书目中的出现方式与文中出现的一致。

有人能帮助我吗?

答案1

你需要

  • 将参数\bibliographystylefrom abbrvnat(按作者姓氏的字母顺序排序)更改为unsrtnat(不进行排序);然后,

  • 执行完整的重新编译循环:LaTeX、BibTeX,然后再执行两次 LaTeX。

这是您的 MWE(最小工作示例)的简化版本的屏幕截图;请注意,首先引用的 Scouten 条目的编号为1,而 Allred 条目的编号为2。相应地,Scouten 条目在参考文献中列在 Allred 书目之前。

在此处输入图片描述

接下来,我还尝试清理、简化和组织序言代码。

\RequirePackage{filecontents}
%% create a dummy bib file
\begin{filecontents}{bilbiography.bib} 
@misc{allred1982oil,
  author = "Allred",
  title  = "Oil",
  year   = 1982,
}
@misc{scouten1990fuel,
  author = "Scouten",
  title  = "Fuel",
  year   = 1990,
}
\end{filecontents}

\documentclass[preprint,12pt]{elsarticle}
\journal{Fuel}
\bibliographystyle{unsrtnat} % not 'abbrvnat'

\usepackage[margin=2.5cm]{geometry} 
\usepackage{amssymb,amsmath,booktabs,
            graphicx,pdflscape,float}
\usepackage{etoolbox} % do you need this package?
\usepackage{bicaption}% ditto

\usepackage{siunitx}
\sisetup{detect-weight, 
         detect-display-math,
         detect-inline-weight=math,
         mode=text,
         per-mode=symbol}

\usepackage{pgfplots,overpic}
\pgfplotsset{compat=newest}
\usetikzlibrary{plotmarks}
\usetikzlibrary{arrows.meta}
\usepgfplotslibrary{patchplots}
\newlength\fwidth
\setlength{\fwidth}{0.8\textwidth}
\pgfplotsset{plot coordinates/math parser=false}
\pgfplotsset{compat=1.15} % conflict with 'compat=newest' (see above)!

\usepackage{makecell}
\renewcommand\theadfont{\bfseries}
\renewcommand\theadgape{}

\usepackage{caption}
\captionsetup{labelfont=bf,skip=0.333\baselineskip}

\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}

\usepackage[hyphens,spaces,obeyspaces]{url}
\def\UrlFont{\normalfont}
\usepackage[colorlinks,allcolors=blue]{hyperref}

\begin{document}
Oil shales (OS) are \dots\ inorganic matrix \cite{scouten1990fuel,allred1982oil}.

\section*{References}
\bibliography{bilbiography} % sic [!]
\end{document}

相关内容