如何使用 multibib 和 amsplain bibtex 样式获取指向第二个参考书目的超链接?

如何使用 multibib 和 amsplain bibtex 样式获取指向第二个参考书目的超链接?

是否可以使用该包获取hyperref第二份参考书目的超链接multibibamsplainBibTeX 样式

例子:

\documentclass[12pt]{article}

\usepackage{multibib}
\newcites{two}{More Information}

\usepackage{hyperref}
\hypersetup{hyperindex,colorlinks, citecolor=red} 

\begin{filecontents}{main.bib}
@article{Archimedes200,author = {Archimedes},title = {Pi's the limit },
journal = {Rome J. Gastronomical Math.}, year = {200BCE},volume = {10},pages={\textsc{CCCXV}--\textsc{CCCXIV}}}

@article{EulerE1776,Author = {Euler, Leonhard},Title = {All about E},
Journal = {Popular Math.},Year = {1776},Volume = {4},pages={1--2718}}
\end{filecontents}

\begin{filecontents}{second.bib}
@book{BourbakiSets1970,Author={Bourbaki, Nicolas},Title={Th{\'e}orie des ensembles},
Year={1970},Publisher={Hermann},Location={Paris}}
\end{filecontents}

\makeindex

\begin{document}

Archimedes~\cite{Archimedes200} and Euler~\cite{EulerE1776} studied the constants, $\pi$ and $e$, respectively.

Bourbaki~\citetwo{BourbakiSets1970} treats set theory axiomatically.

\bibliographystyle{amsplain}
\bibliography{main}
\bibliographystyletwo{amsplain}
\bibliographytwo{second}

\end{document}

缺少第二份参考书目的超链接

其他帖子建议通过使用natbib(例如,multibib - hyperref 不适用于我的第二个参考书目)或biblatex(例如,hyperref 与 multibib 结合的问题)。

然而,我坚持使用amsplainbibtex 风格,而它似乎不适用于natbibbiblatex

有没有什么解决方法?甚至破解hyperref或破解multibib都可以(当然,这不是最好的选择)。

部分解决方案

根据 @jon 的有益建议,以下修改后的源代码确实用于biblatex创建两个参考书目,每个参考书目都有超链接hyperref。正如我所希望的那样,这两个参考书目是独立的;并且源文件中不需要任何修改.bib。我还没有解决修改 bib 样式以使其类似于的问题amsplain

然而,尽管我尝试手动重置计数器,但第二份印刷的参考书目仍将其重置为 1。

有没有办法在第一个参考书目编号结束后继续在第二个参考书目中编号?

\documentclass[12pt]{memoir}

\usepackage[style=numeric,backend=bibtex]{biblatex}

\usepackage{hyperref}
\hypersetup{hyperindex,colorlinks, citecolor=red} 

\begin{filecontents}{main.bib}
@article{Archimedes200,author = {Archimedes},title = {Pi's the limit },
journal = {Syracuse J. Gastronom.\ Math.}, year = {200BCE},volume = {10},pages={\textsc{CCCXV}--\textsc{CCCXIV}}}

@article{EulerE1776,Author = {Euler, Leonhard},Title = {All about E},
Journal = {Math.\ Psychol.},Year = {1776},Volume = {4},pages={1--2718}}
\end{filecontents}

\begin{filecontents}{two.bib}
@book{BourbakiSets1970,Author={Bourbaki, Nicolas},Title={Th{\'e}orie des ensembles},
Year={1970},Publisher={Hermann},place={Paris}}
\end{filecontents}

\addbibresource{main.bib}
\addbibresource{two.bib}

\begin{document}

Archimedes~\cite{Archimedes200} and Euler~\cite{EulerE1776} studied the constants, $\pi$ and $e$,  respectively.

\printbibliography % main

\newrefsection
\defbibnote{readprenote}{Here are some suggested readings.}
\printbibliography[title={Additional Readings},resetnumbers=3,prenote=readprenote] % two 

Bourbaki~\cite{BourbakiSets1970} treats set theory axiomatically.

\end{document}

第二份参考书目编号错误

修复第二个参考书目编号

使用refsegment来自 的环境biblatex,而不是,并在加载 时\newrefsection添加选项,似乎可以解决编号问题:默认情况下,第二个参考书目的编号将从第一个参考书目中的最后一个数字之后的下一个数字开始。defernumbers=truebiblatex

以下是完整的源代码,但经过了修改:

\documentclass[12pt]{memoir}

\usepackage[style=numeric,backend=bibtex,defernumbers=true]{biblatex}    
\usepackage{hyperref}
\hypersetup{hyperindex,colorlinks, citecolor=red} 

\begin{filecontents}{main.bib}
@article{Archimedes200,author = {Archimedes},title = {Pi's the limit },
journal = {Syracuse J. Gastronom.\ Math.}, year = {200BCE},volume = {10},pages={\textsc{CCCXV}--\textsc{CCCXIV}}}

@article{EulerE1776,Author = {Euler, Leonhard},Title = {All about E},
Journal = {Math.\ Psychol.},Year = {1776},Volume = {4},pages={1--2718}}
\end{filecontents}

\begin{filecontents}{two.bib}
@book{BourbakiSets1970,Author={Bourbaki, Nicolas},Title={Th{\'e}orie des ensembles},
Year={1970},Publisher={Hermann},place={Paris}}
\end{filecontents}

\addbibresource{main.bib}
\addbibresource{two.bib}

\begin{document}

\begin{refsegment} 

Archimedes~\cite{Archimedes200} and Euler~\cite{EulerE1776} studied the constants, $\pi$ and $e$,  respectively.

\end{refsegment}

\printbibliography[segment=1] % main

\defbibnote{readprenote}{Here are some suggested readings.}
\printbibliography[title={Additional Readings},prenote=readprenote,segment=2]

\begin{refsegment}

Bourbaki~\cite{BourbakiSets1970} treats set theory axiomatically.

\end{refsegment}

\end{document}

请注意,即使第二个参考书目的引用在打印之后才出现,这种方法仍然有效。

相关内容