Desativando backref na bibliografia multibib secundária com natbib

Desativando backref na bibliografia multibib secundária com natbib

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, multibibe 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.bibe os repeti biblio,bib(no banco de dados da bibliografia principal) adicionando um copysufixo à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 Publicationsparágrafo da tese, e listá-los na bibliografia principal com todas as referências anteriores, exceto aquelas no Publicationspará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 \backrefcitedsinglestringe \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 relsizepacote no seu MWE.)

Sua "pergunta bônus" é suficientemente diferente para justificar sua própria pergunta com um título apropriado.

informação relacionada