Multibib не отображает вторую библиографию в приложении

Multibib не отображает вторую библиографию в приложении

Я использую multibibи natbibвместе, чтобы получить две разные библиографии (одну для основного текста и одну для приложения). Вот пример кода

\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}

Однако вторая библиография не отображается, а ссылка в приложении дает только "?". Я посмотрел в руководстве multibibи в других похожих вопросах, но не понял, где ошибка.

ОБНОВЛЕНИЕ 1 Это происходит, даже если я запускаю файл bibtex дважды. Вот файл log:

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

ОБНОВЛЕНИЕ 2: Я думаю, проблема в том, что мой TexStudio не запускаетsec.aux , который генерирует ссылку на вторую библиографию. Я выполнил шаги по этой ссылкеhttps://sourceforge.net/p/texstudio/wiki/Tips%20and%20Tricks/и создал .cwlи добавил его в TexStudio Completion, но он все еще не работает.

решение1

Использование multibibрезультатов после первого компиляционного запуска файла mwe.texс помощью pdflatex(или в вашем случае компиляции с помощью TeXStudio) в двух новых файлах mwe.auxи apndx.aux. Оба .auxфайла необходимо запустить с помощью bibtex. TeXStudio выполняет запуск с помощью bibtexfor file mwe.aux, поскольку apndx.auxвам нужно сделать это самостоятельно. Просто запустите команду bibtex apndxв терминале Windows. После этого вы можете скомпилировать два раза с помощью TeXStudio, чтобы получить результирующий PDF.

Чтобы команда \citeapndxбыла запущена в подписи к рисунку (ваш вопрос в комментариях), вам нужно использовать команду \protectвида (то же самое для a \section):

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

Итак, в следующем файле mwe.tex(пакет filecontentsиспользуется только для того, чтобы иметь и файлы bib, и код tex в одном компилируемом MWE):

% 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}

и цепочка компиляции (независимая от TeXStudio):

  • откройте окно терминала в Windows, нажав клавишу «Пуск» Windows R, затем введите и cmdнажмите «Ввод».
  • перейдите в каталог, где у вас находится ваш код tex и файл(ы) bib сcd <directory path>
  • выполнить команду pdflatex mwe(в результате чего появятся два необходимых .auxфайла)
  • выполнить команду bibtex mwe (компилирует mwe.aux)
  • выполнить команду bibtex apndx(компилирует apndx.aux)
  • выполнить команду pdflatex mwe(результатом станут файлы *.bblи *.blg)
  • выполнить команду pdflatex mwe(результатом станет pdfфайл с библиографией)

Если вы используете редактор (TeXStudio, TeXnicCenter, ...), редактор может запустить pdflatex mweи bibtex mweдля вас, но не bibtex apndx. Поэтому выполните эту команду после первой компиляции, запущенной с TeXStudio в терминале Windows ...

После запуска цепочки компиляции вы получите следующий результирующий PDF-файл:

введите описание изображения здесь

Связанный контент