2010-05-04 9 views
26

मैं अपने पीएचडी थीसिस के साथ एक सहयोगी की मदद कर रहा हूं और हमें प्रत्येक अध्याय के अंत में ग्रंथसूची प्रस्तुत करने की आवश्यकता है।लाटेक्स: ग्रंथसूची प्रति अध्याय

सवाल यह है: क्या किसी के पास लेटेक्स + बिबटेक्स का उपयोग करके इस मामले के लिए न्यूनतम कार्य उदाहरण है?

वर्तमान दस्तावेज़ संरचना है कि हम का उपयोग निम्नलिखित है:

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

कहाँ main.tex प्रत्येक अध्याय के लिए पैकेज, दस्तावेज़ घोषणाओं, मैक्रो और \include रों में शामिल है। biblio.bibकेवल बिबटेक्स फ़ाइल (मुझे लगता है कि एक ही स्थान पर सभी उद्धरण होना आसान है)।

हमने विभिन्न लेटेक्स पैकेजों की खोज और कोशिश की है, उनके दस्तावेज़ों को पढ़ना और उनका पालन करना। विशेष रूप से, bibitems और Chapterbib।

bibitems सफलतापूर्वक bu*.aux फ़ाइलें उत्पन्न करता है, लेकिन जब उनमें से हर एक के लिए BibTeX चल रहा है, एक त्रुटि तब होती है के बाद से वहाँ .aux फ़ाइल में कोई \bibdata तत्व है।

अध्यायबीब .aux फ़ाइल भी उत्पन्न करता है, लेकिन .tex फ़ाइलों (एक प्रति अध्याय) में एकाधिक \bibliography{file} का उपयोग करके एक त्रुटि के साथ bibtex समाप्त होता है।

कुछ सहकर्मियों ने प्रत्येक अध्याय के लिए एक अलग बिबटेक्स फ़ाइल का उपयोग करने का सुझाव दिया, जो विभिन्न अध्यायों में एक ही प्रकाशन का हवाला देते हुए भविष्य में रखरखाव की समस्या हो सकती है।

यदि संभव हो तो हम इस दस्तावेज़ संरचना को जारी रखना चाहेंगे। इसलिए, अगर कोई इस समस्या को कुछ प्रकाश डाल सकता है, तो हम इसकी सराहना करेंगे।

धन्यवाद।


अद्यतन:

दस्तावेज़ संरचना के साथ

ऊपर उल्लेख किया है:: मेगावाट मदद के लिए 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 
+0

आप एक काम उदाहरण बनाने के लिए चाहते हैं, तो मेरा मानना ​​है कि इस सामग्री TeXnicCenter, टेक्स दस्तावेज़ों के लिए एक विंडोज़ आईडीई करने के लिए बनाया गया है। –

+0

अध्यायबिब के मुद्दे को मुख्य रूप से main.tex में \ bibliography डालकर हल किया जा सकता है, है ना? –

+2

मैं कसम खाता हूं कि हमने पहले यह किया है ... और * बहुत * खोज के बाद मुझे लगता है कि http://stackoverflow.com/questions/2503555/using-latex-how-can-i-have-a-list- के संदर्भ-एट--अंत के प्रत्येक अनुभाग। वाह।* * * डुप्लिकेट नहीं ढूंढने के लिए ओपी को कोई शर्म की बात नहीं है। – dmckee

उत्तर

11

कुछ समय पहले मैं जल्दी से नीचे कुछ नोट chapterbib पर लिख दिया गया है। क्या वे आपकी मदद करते हैं?

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

+0

हां, जिसने मुझे मदद की, हालांकि bibtex कमांड को '.aux' एक्सटेंशन का उपयोग नहीं करना चाहिए। मैं MWE प्रदान करने के लिए प्रश्न अद्यतन कर दूंगा। – YuppieNetworking

+0

हेड-अप के लिए धन्यवाद। मैंने अपने नोट्स अपडेट कर दिए हैं :) – Habi

+0

वह लिंक अब काम नहीं करता – Addman