ЛАТЕКС: библиография на главу

Я помогаю коллеге с его диссертацией, и мы должны представить библиографию в конце каждой главы.

Вопрос: у кого-либо есть минимальный рабочий пример для этого случая с помощью latex+bibtex?

Структура текущего документа, которую мы используем, следующая:

main.tex
chap1.tex
chap2.tex
...
chapn.tex
biblio.bib

Где main.tex содержит пакеты, объявления документа, макросы и \includes для каждой главы. biblio.bib единственный bibtex файл (я думаю, легче иметь все цитаты в одном месте).

Мы искали и попробовали различными латексными пакетами, читая и после их документации. А именно, bibitems и chapterbib.

bibitems успешно генерирует bu*.aux файлы, но при выполнении bibtex для каждого из них, ошибка происходит, так как существует нет \bibdata элемент в .aux файл.

chapterbib также генерирует a .aux файл, но bibtex заканчивается с ошибкой, вызванной при помощи нескольких \bibliography{file} в .tex файлы (один на главу).

Некоторые коллеги предложили использовать отдельный bibtex файл для каждой главы, которая могла быть проблемой обслуживания в будущем при цитировании тех же публикаций в различных главах.

Нам понравится продолжать иметь эту структуру документа, если это возможно. Так, если кто-либо мог бы пролить некоторый свет к этой проблеме, мы будем ценить его.

Спасибо.


Обновление: MWE, найденный Благодаря Habi для справки, вот является рабочим примером:

С упомянутой выше структурой документа:

% main.tex
\documentclass{report}
\usepackage{url}
\usepackage{natbib}
\usepackage{chapterbib}

\begin{document}

\include{chap1}
\include{chap2}
% other chapters ...

\end{document}

% chap1.tex
\chapter{one chapter}
text~\cite{paper1}
text~\cite{paper2}
% don't forget:
\bibliographystyle{plainnat}
\bibliography{biblio}

% chap2.tex
\chapter{another chapter}
text~\cite{paper2, paper3}
% don't forget, again:
\bibliographystyle{plainnat}
\bibliography{biblio}

% biblio.bib
@Article{paper1,
  author =       {John Smith},
  title =        {A title},
  journal =      {A Journal},
  year =         {2010}
}
@Article{paper2,
  author =       {John Doe},
  title =        {A paper},
  journal =      {Another journal},
  year =         {2009}
}
@Article{paper3,
  author =       {Yuppie Networking},
  title =        {My paper},
  journal =      {The best journal},
  year =         {2000}
}

Наконец, для генерации документа:

#!/bin/bash
latex main.tex
for auxfile in chap*.aux
do
    bibtex `basename $auxfile .aux`
done
latex main.tex
latex main.tex
28
задан YuppieNetworking 4 May 2010 в 15:01
поделиться

2 ответа

Некоторое время назад я быстро записал несколько заметок о chapterbib. они вам помогают?

http://wiki.davidhaberthuer.ch/latex#chapterbib

11
ответ дан 28 November 2019 в 03:55
поделиться

Это пункт TeX FAQ :

Отдельная библиография для каждой «главы» документа может быть предоставлен с пакетом chapterbib (который включает в себя множество других хороших библиографических вещей). Пакет позволяет вам различную библиографию для каждого файла \ included (т. Е., Несмотря на имя пакета , доступность библиографий связана с компонентом исходные файлы документа, а не главы, которые логически структурируют документ). [...]

2
ответ дан 28 November 2019 в 03:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: