我正在使用多号码包但无法获得与之配合使用的链接,超链接。这种组合可能吗?示例文档如下:
如果我在序言中添加,\usepackage{natbib}
则链接可以工作,但 multibib 提供的自定义标签将被删除。例如,如果没有 natbib,则引用为 [F3] 和 [B2],没有链接。使用 natbib,引用为 (3) 和 (2) 并进行链接。
这多书目文档 (PDF)有一节(3)介绍如何处理修改的包\@citex
,但我不确定如何使用那里的信息来解决这个问题。
% multibiblinktest.tex
\documentclass[10pt,letter]{article}
\usepackage[labeled,resetlabels]{multibib}
\newcites{F}{Foo}
\newcites{B}{Bar}
\usepackage{hyperref}
\hypersetup{
colorlinks = true,
linkcolor=blue, % color of internal links
citecolor=blue, % color of links to bibliography
urlcolor=blue, % color of external links
pagebackref=true,
implicit=false,
bookmarks=true,
bookmarksopen=true,
pdfdisplaydoctitle=true
}
% \usepackage{natbib} % links work, citations not formatted by multibib...
\begin{document}
\nociteF{ref1}
\nociteF{ref2}
\nociteB{ref3}
A link to \citeF{ref4} and \citeB{ref5} goes here.
\bibliographystyleF{unsrt}
\bibliographyF{test.bib}
\bibliographystyleB{unsrt}
\bibliographyB{test.bib}
\end{document}
以及参考书目文件:
% test.bib
@Article {ref1, author = Author1, title = Title1, year = 2010}
@Article {ref2, author = Author2, title = Title2, year = 2010}
@Article {ref3, author = Author3, title = Title3, year = 2010}
@Article {ref4, author = Author4, title = Title4, year = 2010}
@Article {ref5, author = Author5, title = Title5, year = 2010}
并编译文档:
pdflatex multibiblinktest
pdflatex multibiblinktest
pdflatex multibiblinktest
bibtex F
bibtex B
pdflatex multibiblinktest
pdflatex multibiblinktest
pdflatex multibiblinktest
open multibiblinktest.pdf
答案1
以防有人仍然像我一样潜伏在这里寻找解决方案。
我设法使用 natbib 和 multibib 命令以及一些间距魔法来获得所需的行为这个答案:
\citeF{}
确保多引文正确。否则会出现问号。\cite[F][]{}
在数字前添加字母 F,如natbib 参考表- 综合起来,您的引用应该是这样的
\citeF[F][]{my_citation_2024}
。
问题中的最小示例。不要忘记在序言中添加间距技巧。
% multibiblinktest.tex
\documentclass[10pt,letter]{article}
% add natbib before multibib to get square brackets
\usepackage{natbib}
% used to remove space between letter and number
\makeatletter
\def\NAT@spacechar{}
\makeatother
\usepackage{hyperref}
\hypersetup{
colorlinks = true,
linkcolor=blue, % color of internal links
citecolor=blue, % color of links to bibliography
urlcolor=blue, % color of external links
pagebackref=true,
implicit=false,
bookmarks=true,
bookmarksopen=true,
pdfdisplaydoctitle=true
}
\usepackage[labeled,resetlabels]{multibib}
\newcites{F}{Foo}
\newcites{B}{Bar}
\begin{document}
\nociteF{ref1}
\nociteF{ref2}
\nociteB{ref3}
% The formatting \citeF[F][] is the key
A link to \cite[F][]{ref4} and \citeB[B][]{ref5} goes here.
\bibliographystyleF{unsrt}
\bibliographyF{test.bib}
\bibliographystyleB{unsrt}
\bibliographyB{test.bib}
\end{document}
唯一的区别是字母没有颜色且没有连接。
答案2
您正在使用标准 BibTeX 样式natbib
。您应该使用unsrtnat
样式,而不是unsrt
使用natbib
包。
答案3
我改变了这一行:
\usepackage[labeled,resetlabels]{multibib}
到
\usepackage[labeled]{multibib}
而且它似乎在没有 natbib 的情况下也能工作。
确保在 hyperref 之前保留 multibib!
答案4
我使用multibib
和hyperref
。我发现如果我multibib
在 之前加载hyperref
, 的链接\cite
就会消失,但其他页面、脚注、图像等的链接会保留。对我来说hyperref
之前加载 是multibib
有效的。