Estoy ultimando mi tesis doctoral que he compuesto con LaTeX.
Tengo una sección en la que enumero mis propias publicaciones y la lista completa de referencias al final del documento. Esta lista es bastante larga y decidí incluir referencias anteriores para facilitar la lectura. Usé una combinación de natbib
, multibib
y backref
. Desafortunadamente, esto también les permitió acceder a la bibliografía secundaria que contiene mis propias publicaciones.
¿Cómo se supone que deshabilite las referencias anteriores para las publicaciones y las habilite para la bibliografía? ¡Creo que me quemé el cerebro y no puedo encontrar una solución por mi cuenta! De todos modos, se adjunta un ejemplo práctico mínimo.
Pregunta extra:Incluí mis propios trabajos publications.bib
y los repetí en biblio,bib
(la base de datos de bibliografía principal) agregando un copy
sufijo a sus claves, para no meterme con ellos. ¿Existe una forma más inteligente que la que yo seguí de citarlos y enumerarlos en el Publications
párrafo de la tesis, y enumerarlos en la bibliografía principal con todas las referencias anteriores excepto las del Publications
párrafo?
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}
publicaciones.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}
}
Respuesta1
Para su pregunta principal sobre cómo deshabilitar las referencias anteriores para la bibliografía de "publicaciones" pero habilitarlas para la bibliografía principal, simplemente puede configurar las macros de referencia posterior para que no hagan nada dentro del grupo TeX para la primera bibliografía (estas son las macros \backrefcitedsinglestring
y \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}
(También te faltaba el relsize
paquete en tu MWE).
Su "pregunta adicional" es lo suficientemente diferente como para justificar su propia pregunta con un título apropiado.