我正在为 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
你需要
将参数
\bibliographystyle
fromabbrvnat
(按作者姓氏的字母顺序排序)更改为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}