Разделение академических и неакадемических ссылок: незаконно, еще одна команда \bibdata

Разделение академических и неакадемических ссылок: незаконно, еще одна команда \bibdata

Я пытаюсь использовать отдельный файл bib для двух видов ссылок: академических (статьи, журналы и т. д.) и неакадемических (веб-сайты, блоги и т. д.).

Чтобы разделить их, я создаю файл Academic.bib:

@article{academic,
  journal = "Journal",
  title = "Title",
  author = "Author",
  year = "2014"
}

И еще один файл Non-academic.bib:

@article{nonacademic,
  journal = "Journal",
  title = "Title",
  author = "Author",
  year = "2014"
}

Однако, если я попытаюсь сослаться на них в своем документе, bibtex выдаст мне ошибку

"Illegal, another \bibdata command".

Вот минимальный пример:

\documentclass[a4paper,12pt,abstracton,titlepage]{scrartcl}
\usepackage{scrpage2}
\usepackage[utf8]{inputenc}

\title{Test document}
\author{Me}

\begin{document}
\maketitle
\newpage
\tableofcontents
\clearpage

\cite{academic} \cite{nonacademic}

\appendix

\section{Bibliography}
  \label{sec:bibliography}

  \bibliographystyle{plain}

  \subsection{Academic}
  \bibliography{Academic}{}
  \bibliography{Academic,Non-academic}{}

  \subsection{Non-Academic}
  \bibliography{Non-academic}{}

\end{document}

Как достичь желаемого результата?

решение1

Решение Bibtex:

Множественные библиографии невозможны в стандартном bibtex. Однако multibibпакет позволяет это сделать.

multibibпредлагает \newcites{ac}{Academic}команды, которые добавляют прокси acк стандартным командам библиографии, т.е., \citeac, \nociteacи \bibliographystyleac. \bibliographyacВторым аргументом является заголовок библиографии. В этом случае \newcitesтребуется второй, т.е.,\newcites{nac}{Non-academic}

После запуска latexнеобходимо выполнить bibtexдля каждого \newcites; в этом случае:

bibtex ac
bibtex nac

а затем еще два раза латекс.

Вот полный MWE:

\documentclass[a4paper,12pt,abstracton,titlepage]{scrartcl}
\usepackage{scrpage2}
\usepackage{multibib}
\usepackage[utf8]{inputenc}

\newcites{ac}{Academic}
\newcites{nac}{Non-Academic}

\title{Test document}
\author{Me}

\begin{document}
\maketitle
\newpage
\tableofcontents
\clearpage
\

\citeac{academic} \citenac{nonacademic}

\appendix


\section{Bibliography}
  \label{sec:bibliography}


\bibliographystyleac{plain}
  \bibliographyac{Academic}{}

\bibliographystylenac{plain}
  \bibliographynac{Non-academic}{}

\end{document} 

производство:

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

Решение Biblatex

biblatex допускает множественные библиографии. В этом случае можно определить специальную категорию nonдля неакадемических библиографических записей, а затем использовать categoryи notcategoryопции\printbibliography

\documentclass[a4paper,12pt,abstracton,titlepage]{scrartcl}
\usepackage{scrpage2}
\usepackage{biblatex}

\addbibresource{Academic.bib}
\addbibresource{Non-academic.bib}

\DeclareBibliographyCategory{non}
\addtocategory{non}{nonacademic}

\usepackage[utf8]{inputenc}


\title{Test document}
\author{Me}

\begin{document}
\maketitle
\newpage
\tableofcontents
\clearpage
\

\cite{academic} \cite{nonacademic}

\appendix


\section{Bibliography}
  \label{sec:bibliography}

\printbibliography[title=Academic,heading=subbibliography,notcategory=non]

\printbibliography[title={Non-Academic},heading=subbibliography,category=non]


\end{document}

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

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