Я пытаюсь сделать библиографию по главам. Я использовал пакет chapterbib, используя стиль библиографии rsc. Проблема в том, что в конце он не компилируется. Вот часть преамбулы, которую я использую
\documentclass[12pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[greek,francais]{babel}
\usepackage[T1]{fontenc}
\usepackage[left=2cm,right=2cm,top=3cm,bottom=3cm]{geometry}
\usepackage{chapterbib}
\usepackage{rsc}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage[numbers]{natbib}
\usepackage{hyperref}
\hypersetup{colorlinks=true, linkcolor=blue,citecolor=blue}
\begin{document}
\include{partie_1}
\include{annexe_1}
\end{document}
В конце каждой части приводятся:
\blibliographystyle{angew}
\bibliography{biblio.bib}
У меня только это сообщение об ошибке:
This is BibTeX, Version 0.99d (TeX Live 2012) The top-level auxiliary file:
maitre.aux A level-1 auxiliary file: partie_1.aux The style file: angew.bst
A level-1 auxiliary file: annexe_1.aux Illegal, another \bibstyle
command---line 5 of file annexe_1.aux : \bibstyle : {angew} I'm skipping
whatever remains of this command Illegal, another \bibdata command---line 6
of file annexe_1.aux : \bibdata : {rsc-maitre,biblio} I'm skipping whatever
remains of this command Database file #1: rsc-maitre.bib Database file #2:
biblio.bib (There were 2 error messages)
Без использования chapterbib всё работает отлично.
Редактировать: Посмотрев другие посты, я просто хочу уточнить, что я запускал bibteX для каждого файла перед запуском исходного, следуя pdflatex -> bibtex -> pdflatex (x2) -> view pdf
решение1
Для этого можно создать Makefile
или скрипт. Скрипт можно вызвать из TexMaker или другого редактора.
В Linux я Makefile
для этой цели использую a. Мне просто нужно запустить make
и все скомпилируется! :)
Скрипт Makefile
or полезен, поскольку вам не нужно «привязываться» к конфигурации редактора. Вы также можете запустить его из терминала, что позволит вам использовать любой редактор, который вам нравится.
Вот Makefile
пример:
# Main project filename (without .tex extention)
FILE=main
all:
$(MAKE) latex
$(MAKE) bibperchapter
$(MAKE) latex
$(MAKE) latex
dvipdf \
-dPDFSETTINGS=/prepress \
-dGrayImageResolution=600 \
-dColorImageResolution=600 \
-dMonoImageResolution=600 \
-dSubsetFonts=true \
-dEmbedAllFonts=true \
-dMaxSubsetPct=100 \
-dCompatibilityLevel=1.5 \
-sPAPERSIZE=a4 $(FILE).dvi
bibperchapter:
for auxfile in text/ch*.aux ; do \
bibtex $(basename $$auxfile .aux) ; \
done
latex:
latex -interaction batchmode $(FILE)
Это Makefile
запустит latex
(pdftex) bibtex
для каждой главы и преобразует файл dvi в pdf (я использую драйвер dvips). Обратите внимание на bibperchapter
цель. Вам нужно отредактировать ее в соответствии с расположением ваших глав. В этом случае главы находятся втекст/имена папок и всех файлов начинаются сч-.
Вы можете изменить его в соответствии с вашими потребностями. Он может быть легко адаптирован к используемой вами платформе (windows, linux, macos).
решение2
Итак, похоже, все, что мне нужно было сделать, это вручную скомпилировать мой основной файл с помощью pdflatex, затем bibtex по одному разу для каждой включенной части, затем pdflatex дважды для основного файла...
Возможно ли сделать это быстрой компиляцией с помощью TexMaker?...