我的文件中有两个不同的书目块(我不能使用 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}