Separando referências acadêmicas e não acadêmicas: Ilegal, outro comando \bibdata

Separando referências acadêmicas e não acadêmicas: Ilegal, outro comando \bibdata

Estou tentando usar um arquivo bib separado para dois tipos de referências: acadêmicas (artigos, periódicos, etc.) e não acadêmicas (sites, blogs, etc.).

Para separá-los, crio um arquivo Academic.bib:

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

E outro arquivo Non-academic.bib:

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

No entanto, se eu tentar referenciá-los no meu documento, o bibtex me dá o erro

"Illegal, another \bibdata command".

Aqui está um exemplo mínimo:

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

Como posso alcançar o resultado pretendido?

Responder1

Solução Bibtex:

Bibliografias múltiplas não são possíveis com o bibtex padrão. No entanto, o multibibpacote permite isso.

multibiboferece os \newcites{ac}{Academic}comandos que anexa os proxies acaos comandos bibliográficos padrão, ou seja, \citeac, \nociteac, \bibliographystyleace \bibliographyac. O segundo argumento é o título da bibliografia. Neste caso \newcitesé necessário um segundo, ou seja,\newcites{nac}{Non-academic}

Depois de correr latex, é preciso correr bibtexpara cada um \newcites; nestes casos:

bibtex ac
bibtex nac

e depois látex mais duas vezes.

Aqui está um MWE completo:

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

produzindo:

insira a descrição da imagem aqui

Solução Biblatex

biblatex permite múltiplas bibliografias. Neste caso pode-se definir uma categoria especial nonpara entradas bibliográficas não acadêmicas, e então usar as opções categorye notcategoryde\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}

insira a descrição da imagem aqui

informação relacionada