LaTeX: библиография на главу
я помогаю коллеге с его кандидатской диссертацией, и нам нужно представить библиографию в конце каждой главы.
вопрос: есть ли у кого-нибудь минимальный рабочий пример для этого случая с использованием latex+bibtex?
текущая структура документа, которую мы используем, следующая:
main.tex
chap1.tex
chap2.tex
...
chapn.tex
biblio.bib
здесь main.tex
содержит пакеты, объявления документов, макросы и include
S для каждой главы. biblio.bib
- это только файл bibtex (я думаю, что легче все цитаты в одном месте).
мы искали и пробовали с различными пакетами latex, читая и следуя их документации. В частности, bibitems и chapterbib.
bibitems успешно генерирует bu*.aux
файлы, но при запуске так как для каждого из них, возникает ошибка, так как нет bibdata
в элементе .
chapterbib также генерирует .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