一个文件中有两个参考书目部分;我怎样才能使引用的标签不同?

一个文件中有两个参考书目部分;我怎样才能使引用的标签不同?

我的文件中有两个不同的书目块(我不能使用 bibtex)。我希望第一个的编号与第二个不同。目前,两个编号都是从 1 到 10,因此无法进行交叉引用。相反,我希望书目 A 从 1 到 10,书目 B 从 11 到 20,或者像书目 A 从 A1 到 A10,书目 B 从 B1 到 B10 一样。

这可能吗?谢谢。

以下是 MWE:

\documentclass[11pt]{article}    
\usepackage{etoolbox}
\patchcmd{\thebibliography}{\section*{\refname}}{}{}{}


\begin{document}
\section{First part}
\begin{thebibliography}{10}
\bibitem{paper}
A.Author
\newblock Blah
\newblock{ \em B.}, 2016(1), 2016.
\end{thebibliography}

\subsubsection{Second part} 
\begin{thebibliography}{10}
\bibliographystyle{abbrv}
\bibitem{paper2}
B.Author
\newblock {ADSD}.
\newblock {\em ArXiv e-prints}, March 2017.
\end{thebibliography}

Here I cite \cite{paper} and \cite{paper2}

\end{document}

如果你运行它,你会看到两个引用都是 [1]。

答案1

我们可以定义一个允许您指定前缀的theprefixbibliography环境。thebibliography

\documentclass[11pt]{article}    
\usepackage{etoolbox}
\patchcmd{\thebibliography}{\section*{\refname}}{}{}{}

\makeatletter
\newenvironment{theprefixbibliography}[2]
  {\begin{thebibliography}{#2}
   \def\@biblabel##1{[#1-##1]}%
   \def\@bibitem##1{\item\if@filesw \immediate\write\@auxout
     {\string\bibcite{##1}{#1-\the\value{\@listctr}}}\fi\ignorespaces}}
  {\end{thebibliography}}
\makeatother

\begin{document}
\section{First part}
\begin{theprefixbibliography}{A}{10}
\bibitem{paper}
A.~Author
\newblock Blah
\newblock{ \em B.}, 2016(1), 2016.
\bibitem{paper4}
A.~Cuthor
\newblock Blah
\newblock{ \em C.}, 2017(1), 2017.
\end{theprefixbibliography}

\subsubsection{Second part} 
\begin{theprefixbibliography}{B}{10}
\bibitem{paper2}
B.~Author
\newblock {ADSD}.
\newblock {\em ArXiv e-prints}, March 2017.
\bibitem{paper3}
B.~Buthor
\newblock {ABCD}.
\newblock {\em ArXiv e-prints}, March 2018.
\end{theprefixbibliography}

Here I cite \cite{paper} and \cite{paper2}

\end{document}

在此处输入图片描述

相关内容