Estou finalizando minha tese de doutorado que compus em LaTeX.
Tenho uma seção onde listo minhas próprias publicações e toda a lista de referências no final do documento. Esta lista é bastante longa e decidi incluir referências anteriores para facilitar a leitura. Usei uma combinação de natbib
, multibib
e backref
. Infelizmente, isso os permitiu acessar a bibliografia secundária que contém também minhas próprias publicações.
Como devo desabilitar referências anteriores para publicações e ativá-las para a bibliografia? Acho que queimei meu cérebro e não consigo encontrar uma solução sozinho! De qualquer forma, segue em anexo um exemplo mínimo de trabalho.
Pergunta bônus:Incluí meus próprios trabalhos publications.bib
e os repeti biblio,bib
(no banco de dados da bibliografia principal) adicionando um copy
sufixo às suas chaves, para não mexer com elas. Existe uma maneira mais inteligente do que a que busquei de citá-los e listá-los no Publications
parágrafo da tese, e listá-los na bibliografia principal com todas as referências anteriores, exceto aquelas no Publications
parágrafo?
principal.tex
\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}
publicações.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}
}
biblio.bib
@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}
}
Responder1
Para sua pergunta principal sobre desabilitar as referências anteriores para a bibliografia de "publicações", mas habilitá-las para a bibliografia principal, você pode simplesmente configurar as macros backref para não fazerem nada dentro do grupo TeX para a primeira bibliografia (estas são as macros \backrefcitedsinglestring
e \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}
(Também estava faltando o relsize
pacote no seu MWE.)
Sua "pergunta bônus" é suficientemente diferente para justificar sua própria pergunta com um título apropriado.