我正在完成用 LaTeX 撰写的博士论文。
我在文档的最后部分列出了我自己的出版物和完整的参考文献列表。这个列表相当长,我决定添加反向引用以方便阅读。我使用了和的组合natbib
。不幸的是,这也使他们能够访问包含我自己出版物的二级参考书目。multibib
backref
我该如何禁用出版物的反向引用并启用参考书目?我想我已经绞尽脑汁了,自己找不到解决办法!无论如何,请查看附件中的一个最小工作示例。
附加问题:我把自己的作品收录进去,并在(主书目数据库)publications.bib
中重复它们,并在它们的键中添加后缀,以免弄乱它们。有没有比我追求的引用它们并将它们列在论文段落中,并在主书目中列出所有后向引用(但段落中的引用除外)更聪明的方法?biblio,bib
copy
Publications
Publications
主文本
\documentclass{scrreprt}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[square,numbers,sort&compress]{natbib}
\usepackage[resetlabels]{multibib}
\newcites{publications}{\null}
\usepackage[pdftex]{hyperref}
\usepackage[hyperpageref]{backref}
\usepackage{bookmark}
\newcommand{\backrefnotcitedstring}{\relax} %(Not cited.)
\newcommand{\backrefcitedsinglestring}[1]{\\\textsmaller{(Cited on page~#1)}}
\newcommand{\backrefcitedmultistring}[1]{\\\textsmaller{(Cited on pages~#1)}}
\renewcommand{\backreftwosep}{ and~} % separate 2 pages
\renewcommand{\backreflastsep}{, and~} % separate last of longer list
\renewcommand*{\backref}[1]{} % disable standard
\renewcommand*{\backrefalt}[4]{\ifcase #1 \backrefnotcitedstring \or \backrefcitedsinglestring{#2} \else \backrefcitedmultistring{#2} \fi}
\begin{document}
\chapter*{Publications}
Some ideas and figures have previously and partially appeared in \citep{me2012a,me2012b}.
\begingroup
\let\clearpage\relax
\vspace{-6ex}
\nocitepublications{*}
\bibliographystylepublications{abbrvnat}
\bibliographypublications{publications}
\endgroup
\chapter{Introduction}
In this thesis I take some of the concepts that I introduced in \citep{me2012acopy,me2012bcopy} and I quote others proposed in \citep{he2011,she2011,them2011}.
\appendix
\bibliographystyle{abbrvnat}
\bibliography{biblio}
\end{document}
出版物.bib
@article {me2012a,
author = {Me, I},
title = {Title 1},
journal = {A Journal},
journaltitle = {A Journal},
year = {2012}
}
@article {me2012b,
author = {Me, I},
title = {Title 2},
journal = {A Journal},
journaltitle = {A Journal},
year = {2012}
}
书目目录
@article {me2012acopy,
author = {Me, I},
title = {Title 1},
journal = {A Journal},
journaltitle = {A Journal},
year = {2012}
}
@article {me2012bcopy,
author = {Me, I},
title = {Title 2},
journal = {A Journal},
journaltitle = {A Journal},
year = {2012}
}
@article {he2011,
author = {He, Author},
title = {Title He},
journal = {A Journal},
journaltitle = {A Journal},
year = {2011}
}
@article {she2011,
author = {She, Author},
title = {Title She},
journal = {A Journal},
journaltitle = {A Journal},
year = {2011}
}
@article {them2011,
author = {Them, Authors},
title = {Title Them},
journal = {A Journal},
journaltitle = {A Journal},
year = {2011}
}
答案1
对于您关于禁用“出版物”书目的反向引用但启用主要书目的反向引用的主要问题,您可以简单地将 backref 宏设置为在第一个书目的 TeX 组内不执行任何操作(这些是宏\backrefcitedsinglestring
和\backrefcitedmultistring
):
\documentclass{scrreprt}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[square,numbers,sort&compress]{natbib}
\usepackage[resetlabels]{multibib}
\newcites{publications}{\null}
\usepackage[pdftex]{hyperref}
\usepackage[hyperpageref]{backref}
\usepackage{bookmark}
\usepackage{relsize}
\newcommand{\backrefnotcitedstring}{\relax} %(Not cited.)
\newcommand{\backrefcitedsinglestring}[1]{\\\textsmaller{(Cited on page~#1)}}
\newcommand{\backrefcitedmultistring}[1]{\\\textsmaller{(Cited on pages~#1)}}
\renewcommand{\backreftwosep}{ and~} % separate 2 pages
\renewcommand{\backreflastsep}{, and~} % separate last of longer list
\renewcommand*{\backref}[1]{} % disable standard
\renewcommand*{\backrefalt}[4]{\ifcase #1 \backrefnotcitedstring \or \backrefcitedsinglestring{#2} \else \backrefcitedmultistring{#2} \fi}
\begin{document}
\chapter*{Publications}
Some ideas and figures have previously and partially appeared in \citeppublications{me2012a,me2012b}.
\begingroup
% disable backref here
\renewcommand{\backrefcitedsinglestring}[1]{}%
\renewcommand{\backrefcitedmultistring}[1]{}%
% end changes added by cyberSingularity
\let\clearpage\relax
\vspace{-6ex}
\nocitepublications{*}
\bibliographystylepublications{abbrvnat}
\bibliographypublications{publications}
\endgroup
\chapter{Introduction}
In this thesis I take some of the concepts that I introduced in \citep{me2012acopy,me2012bcopy} and I quote others proposed in \citep{he2011,she2011,them2011}.
\appendix
\bibliographystyle{abbrvnat}
\bibliography{biblio}
\end{document}
relsize
(您的 MWE 中也缺少该包。)
您的“奖励问题”足够不同,因此它值得作为一个问题并带有一个适当的标题。