Multibib não mostra uma segunda bibliografia no apêndice

Multibib não mostra uma segunda bibliografia no apêndice

Estou usando multibibe natbibjuntos para obter duas bibliografias diferentes (uma para o texto principal e outra para o apêndice). Aqui está um código de exemplo

\documentclass[12pt]{article}
\usepackage{natbib}
\usepackage{multibib} 
\newcites{apndx}{References}
\begin{document}

First paper to cite: \cite{X1}
\bibliographystyle{ecca}
\bibliography{XXX}

\appendix

Cite a paper in the appendix \citeapndx{X2}

\bibliographystyleapndx{ecca} 
\bibliographyapndx{XXX}


\end{document}

Porém, a segunda bibliografia não aparece e a citação no apêndice dá apenas um "?". Procurei no multibibmanual e em outras perguntas semelhantes, mas não entendi onde está o erro.

ATUALIZAÇÃO 1 Isso acontece mesmo que eu execute o arquivo bibtex duas vezes. Aqui está o logarquivo:

Process started: /Library/TeX/texbin/bibtex "prova".aux

This is BibTeX, Version 0.99d (TeX Live 2016)
The top-level auxiliary file: prova.aux
The style file: plain.bst
Database file #1: myrefs.bib

Process exited normally 

Process started: /Library/TeX/texbin/bibtex "prova".aux

This is BibTeX, Version 0.99d (TeX Live 2016)
The top-level auxiliary file: prova.aux
The style file: plain.bst
Database file #1: myrefs.bib

Process exited normally

ATUALIZAÇÃO 2: Acho que o problema é que meu TexStudio não executa o sec.auxarquivo que gera o link para a segunda bibliografia. Eu segui os passos deste linkhttps://sourceforge.net/p/texstudio/wiki/Tips%20and%20Tricks/e criei um .cwle adicionei ao TexStudio Completion mas ainda não funciona.

Responder1

Usando multibibos resultados após a primeira execução de compilação do arquivo mwe.texcom pdflatex(ou no seu caso compilando com o TeXStudio) em dois novos arquivos mwe.auxe apndx.aux. Ambos .auxos arquivos precisam ser executados com bibtex. TeXStudio executa for bibtexfile mwe.aux, pois apndx.auxvocê precisa fazer isso sozinho. Basta executar o comando bibtex apndxem um terminal do Windows. Depois disso você pode compilar duas vezes com o TeXStudio para obter o PDF resultante.

Para que o comando \citeapndxseja executado na legenda de uma figura (sua pergunta nos comentários), você precisa usar um comando \protectcomo (o mesmo para a \section):

  \caption{In figure caption \protect\citeapndx{Johnson2000}}
 %                           ^^^^^^^^

Assim, com o seguinte arquivo mwe.tex(o pacote filecontentsé usado apenas para ter os arquivos bib e o código tex em um MWE de compilação):

% needs:  bibtex apndx
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inproceedings{Creighton2006,
  author    = {Creighton, Oliver and Ott, Martin and Bruegge, Bernd},
  booktitle = {Requirements Engineering, 14th IEEE International Conference},
  isbn      = {0769525555},
  pages     = {109--118},
  publisher = {IEEE},
  title     = {{Software cinema-video-based requirements engineering}},
  url       = {http://ieeexplore.ieee.org/xpls/abs{\_}all.jsp?arnumber=1704054},
  year      = {2006},
}
\end{filecontents}
\begin{filecontents}{apndx.bib}
@article{Johnson2000,
  author  = {Johnson, W Lewis and Rickel, Jeff W and Lester, James C},
  journal = {International Journal of Artificial Intelligence in Education},
  number  = {11},
  pages   = {47--78},
  title   = {{Animated pedagogical agents: face-to-face interaction in 
              interactive learning environments}},
  volume  = {Internatio},
  year    = {2000},
}
\end{filecontents}


\documentclass[12pt]{article}

\usepackage{natbib}
\usepackage{multibib} 
\usepackage{graphicx}

\newcites{apndx}{References in Appendix}


\begin{document}

First paper to cite: \cite{Creighton2006}
\bibliographystyle{ecca}
\bibliography{\jobname}

\appendix

Cite a paper in the appendix \citeapndx{Johnson2000}

%\section{In the appendix \protect\citeapndx{Johnson2000}} % <===========
\begin{figure}
  \centering
    \includegraphics[width=5cm]{example-image-a}
  \caption{In figure caption \protect\citeapndx{Johnson2000}} % <=======
  \label{fig:example-image-a}
\end{figure}

\bibliographystyleapndx{ecca} 
\bibliographyapndx{apndx}

\end{document}

e a cadeia de compilação (independente do TeXStudio):

  • abra uma janela de terminal no Windows pressionando a tecla Iniciar do Windows e R, em seguida, digite cmde pressione Enter
  • vá para o diretório onde você tem seu código tex e o(s) arquivo(s) bib comcd <directory path>
  • execute o comando pdflatex mwe(resultando em dois .auxarquivos necessários)
  • executar comando bibtex mwe (compila mwe.aux)
  • executar comando bibtex apndx(compila apndx.aux)
  • executar comando pdflatex mwe(resultando em arquivos *.bble *.blg)
  • executar comando pdflatex mwe(resultando em pdfarquivo com bibliografia)

Se você estiver usando um editor (TeXStudio, TeXnicCenter, ...) o editor pode rodar pdflatex mwee bibtex mwepara você, mas não bibtex apndx. Então execute este comando após a primeira compilação executada com o TeXStudio em um terminal windows ...

Depois de executar a cadeia de compilação, você obtém o seguinte pdf resultante:

insira a descrição da imagem aqui

informação relacionada