\bibliography{} 从任意数字开始

\bibliography{} 从任意数字开始

我知道之前有一个关于更改参考书目的起始编号,但我的问题是我没有使用它\begin{thebibliography}来构建参考书目,而是直接从 bibtex 文件中读取它。有没有方法可以更改默认编号,例如在编译时从 10 开始而不是从 1 开始?我的文件结尾如下:

% REFERENCES AND NOTES
\bibliography{bibtextfile}
\bibliographystyle{style}

\end{document}

答案1

\setcounter{enumiv}{9}\thebibliography如果不适用则会起作用\usecounter{enumiv},从而重置enumiv计数器。

article.cls

\newenvironment{thebibliography}[1]
     {\section*{\refname}%
      \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}%   This is the 'culprit'!!!!!
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}

以及来自latex.ltx

\def\usecounter#1{\@nmbrlisttrue\def\@listctr{#1}\setcounter{#1}\z@}

\setcounter{#1}{0}有效。

以下代码使用虚拟计数器mybibstartvalue并设置enumiv计数器 \usecounter{enumiv}使用补丁。

然而,此代码仅适用于article.cls

\documentclass{article}

\usepackage{xpatch}

\newcounter{mybibstartvalue}
\setcounter{mybibstartvalue}{9}

\xpatchcmd{\thebibliography}{%
  \usecounter{enumiv}%
}{%
  \usecounter{enumiv}%
  \setcounter{enumiv}{\value{mybibstartvalue}}%
}{}{}



\begin{document}


\cite{Lam94}

\cite{GSM97}

\bibliography{biblio}
\bibliographystyle{unsrt}

\end{document}

在此处输入图片描述

答案2

取自:https://latex.org/forum/viewtopic.php?t=15487

\begin{document}

\let\oldthebibliography=\thebibliography
\let\oldendthebibliography=\endthebibliography
\renewenvironment{thebibliography}[1]{
    \oldthebibliography{#1}
    \setcounter{enumiv}{9}                        % Start reference from [10]
}{\oldendthebibliography}

\end{document}

相关内容