6

I am writing my thesis and the document (in book class) contains multiple lists of references, one per chapter. Thus, I am using multibib package and the command \newcites to group the citations in the correct lists. I am combining that with natbib, since I want the apa style. Further, I am using hyperref package to generate the hyperlinks all over the document.

I have references that are repeated in different reference lists, since they are cited in different chapters.

My problem is that hyperref always point such citations to the first reference list where it appears. For instance, if a specific citation appears twice in chapter I and chapter II, the hyperref will point the citation in chapter II to the reference list of chapter I and not to the list of chapter II.

Here you have the relevant code:

\RequirePackage{filecontents}
\begin{filecontents*}{bibliotest.bib}

 @article{author2014,
   author       = "Author",
   title        = "Title of the paper",
   journal      = "The Journal",
   volume       = "1",
   number       = "1",
   pages        = "1-2",
   month        = "September",
   year         = "2014",
 }
 \end{filecontents*} 


 \documentclass[a4paper,11pt,english,pdftex]{book}
 \usepackage[latin1]{inputenc}
 \usepackage{babel}
 \usepackage[pdftex]{color,graphicx} 
 \usepackage{float}
 \usepackage{hyperref}

 %citation Harvard style
 \usepackage{natbib}
 \bibpunct{(}{)}{;}{a}{,}{,}

 %Multiple reference sections (per chapter)
 \usepackage{multibib}
 \def\@mb@citenamelist{cite,citep,citet,citealp,citealt}
 \newcites{oneintro}{References 1}
 \newcites{twomatproc}{References 2}

 \begin{document}

   \chapter{Intro}

    I am citing for the first time this reference here. \citeponeintro{author2014}

   %%%%%%%%The Biliography%%%%%%%%%%%%%%
   \renewcommand{\bibname}{References 1}
   \bibliographystyleoneintro{apa}
   \bibliographyoneintro{bibliotest}


   \chapter{Methods}

     And now, I am citing it once again in this chapter. \citeptwomatproc{author2014}

   %%%%%%%%%The bibliography%%%%%%%%%%%%  
   \renewcommand{\bibname}{References 2}
   \bibliographystyletwomatproc{apa}
   \bibliographytwomatproc{bibliotest}

   \end{document}

The .bib file is included in the MWE with package filelists.

I have tried to debug this problem looking for answers on the internet but without success. Could you help me?

  • Welcome to TeX.SX! Please help us to help you and add a minimal working example (MWE) that illustrates your problem. It will be much easier for us to reproduce your situation and find out what the issue is when we see compilable code, starting with \documentclass{...} and ending with \end{document}. – user31729 Sep 5 '14 at 19:14
  • Please revise your question and use some paragraphs to facilitate its readability. – user31729 Sep 5 '14 at 19:16
1

I would suggest you use biblatex instead. It has a refsection feature for bibliographies per section, and it works with hyperref correctly. You just have to use biber instead of bibtex. A biblatex version of your sample document with the apa style would be:

\RequirePackage{filecontents}
\begin{filecontents*}{bibliotest.bib}

@article{author2014,
  author       = "Author",
  title        = "Title of the paper",
  journal      = "The Journal",
  volume       = "1",
  number       = "1",
  pages        = "1-2",
  month        = "September",
  year         = "2014",
}
\end{filecontents*} 


\documentclass[a4paper,11pt,american,pdftex]{book}

\usepackage[latin1]{inputenc}
\usepackage{babel}
\usepackage[pdftex]{color,graphicx} 
\usepackage{float}
\usepackage{csquotes}
\usepackage[style=apa,refsection=chapter]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\usepackage[colorlinks=true]{hyperref}

\addbibresource{bibliotest.bib}

\begin{document}


\chapter{Intro}

I am citing for the first time this reference
here. \parencite{author2014}

\printbibliography

\chapter{Methods}

And now, I am citing it once again in this
chapter. \parencite{author2014}

\printbibliography


\end{document}
0

Thank you very much for your answers.

I managed to solve my problem reading the inchapter 1.3 Limitations, as suggested. In the .bib file, I introduced two entries with different labels for the same reference and then I used each label in the citations corresponding to the reference list of the specific chapter. For instance, according to the previous example, the citation becomes \citeponeintro{author2014I} for chapter 1 and it becomes \citeptwomatproc{author2014II} for chapter 2.

Nevertheless, I might use biblatex in the future, since the the solution proposed here in this thread looks much simpler. Ana

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.