Я пытаюсь использовать отдельный файл 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}