编辑:修正 MWE 以包含\natbib
并删除多余的代码。
我正在使用 XeLaTeX 编译的 Overleaf 来编写文档。我正在使用给出的解决方案这里输入并排序我的参考文献,因为与我尝试过的其他解决方案相比,这为参考书目列表提供了更多的定制性。
参考文献列表后面是我的附录,其中也可以包含参考文献。目前,我的解决方案(下面的 MWE)正确地为附录中的参考文献分配了参考编号,但它没有在参考书目列表中重现参考文献。
根据这帖子中,问题在于系统编译的次数不够,尽管我的理解是 Overleaf 编译了所需的次数来解决这些问题。
有什么方法可以修改下面的代码或编辑 Overleaf 设置,以便附录中的参考文献在参考书目中正确列出?
\documentclass[english, footlines=2, fontsize=11pt, DIV=12, twoside, numbers=noendperiod]{scrartcl}
\usepackage{natbib}
% Reference Set Up
\newcounter{mycite}
\newtoks\citetoks
\makeatletter
\DeclareRobustCommand\unscite[1]{%
\@ifundefined{uns@cite#1}
{\refstepcounter{mycite}\label{citelabel@#1}%
\expandafter\xdef\csname uns@cite#1\endcsname{\arabic{mycite}}%
\toks\z@=\expandafter{\the\citetoks}%
\toks\tw@=\expandafter\expandafter\expandafter{%
\csname uns@bibitem#1\endcsname}%
\edef\@tempcite{\the\toks\z@\the\toks\tw@}%
\global\citetoks=\expandafter{\@tempcite}%
}{}[\@nameuse{uns@cite#1}]}
\newcommand{\mybibitem}[2]{%
\@namedef{uns@bibitem#1}{\bibitem[\ref{citelabel@#1}]{#1}#2}}
\makeatother
\begin{document}
\section{Initial Section}
Initial mention of reference \unscite{3rdTest} then \unscite{2ndTest}
\mybibitem{1stTest}{Here is the 1st reference}
\mybibitem{2ndTest}{here is the 2nd reference}
\mybibitem{3rdTest}{here is the 3rd reference}
\bibliographystyle{plain}
\renewcommand\refname{References}
\begin{thebibliography}{\arabic{mycite}}
\itemsep1em
\the\citetoks
\footnotesize
\end{thebibliography}
\appendix
\section{Appendix}
Mention of reference in Appendix \unscite{1stTest}
\end{document}