2010-05-04 29 views
26

Tôi đang giúp một đồng nghiệp với luận án tiến sĩ của ông và chúng tôi cần trình bày thư mục ở cuối mỗi chương.LaTeX: thư mục cho mỗi chương

Câu hỏi đặt ra là: có ai có ví dụ làm việc tối thiểu cho trường hợp này sử dụng latex + bibtex không?

Cấu trúc tài liệu hiện tại mà chúng ta sử dụng như sau:

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

đâu main.tex chứa bao bì, tờ khai tài liệu, macro và \include s cho mỗi chương. biblio.bibchỉ tệp bibtex (tôi nghĩ dễ dàng hơn để có tất cả trích dẫn ở một nơi).

Chúng tôi đã tìm kiếm và thử với các gói latex khác nhau, đọc và làm theo tài liệu của họ. Cụ thể, bibitems và chapterbib.

bibitems tạo thành công bu*.aux tệp, nhưng khi chạy bibtex cho mỗi một trong số chúng, lỗi xảy ra vì không có phần tử \bibdata trong tệp .aux.

chapterbib cũng tạo tệp .aux, nhưng bibtex kết thúc bằng lỗi bằng cách sử dụng nhiều \bibliography{file} trong các tệp .tex (mỗi tệp một chương).

Một số đồng nghiệp đề xuất sử dụng tệp bibtex riêng cho từng chương, có thể là vấn đề bảo trì trong tương lai khi trích dẫn các ấn phẩm tương tự trong các chương khác nhau.

Chúng tôi muốn tiếp tục có cấu trúc tài liệu này, nếu có thể. Vì vậy, nếu bất cứ ai có thể làm sáng tỏ vấn đề này, chúng tôi sẽ đánh giá cao nó.

Cảm ơn.


Cập nhật: MWe tìm thấy Nhờ Habi cho sự giúp đỡ, đây là một ví dụ làm việc:

Với cấu trúc tài liệu nêu trên:

% 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} 
} 

Cuối cùng, để tạo ra các tài liệu:

#!/bin/bash 
latex main.tex 
for auxfile in chap*.aux 
do 
    bibtex `basename $auxfile .aux` 
done 
latex main.tex 
latex main.tex 
+0

Nếu bạn muốn tạo một ví dụ làm việc, tôi tin rằng công cụ này được tích hợp sẵn trong texniccenter, một IDE cửa sổ cho các tài liệu TeX. –

+0

Vấn đề của chapterbib có thể được giải quyết bằng cách đặt \ bibliography vào main.tex chỉ, có thể không? –

+2

Tôi xin thề rằng chúng tôi đã thực hiện việc này trước khi ... và sau * nhiều * tìm kiếm tôi tìm thấy http://stackoverflow.com/questions/2503555/using-latex-how-can-i-have-a-list- của tham chiếu-at-the-end-of-each-section. Whew.Không xấu hổ với OP vì không tìm thấy * rằng * trùng lặp. – dmckee

Trả lời

11

một số thời gian trước đây tôi đã nhanh chóng jotted xuống một số ghi chú trên chapterbib. họ có giúp bạn không

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

+0

Có, điều đó đã giúp tôi, mặc dù lệnh bibtex không nên sử dụng phần mở rộng '.aux'. Tôi sẽ cập nhật câu hỏi để cung cấp MWE. – YuppieNetworking

+0

cảm ơn người đứng đầu. Tôi đã cập nhật ghi chú của mình :) – Habi

+0

Liên kết đó không hoạt động nữa – Addman

Các vấn đề liên quan