PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Seitenangabe in @Book (Literaturverzeichnis)



lousypoetry
10-12-2007, 20:58
Hallo zusammen,

ich erstelle gerade ein Literaturverzeichnis und habe bisher noch keine Lösung gefunden, bei einem Buch die Seitenzahlen anzugene, auf die ich mich beziehe.

Bsp.:



@BOOK{freeman_entwurfsmuster,
title = {Entwurfsmuster von Kopf bis Fuß},
publisher = {O'Reilly},
year = {2006},
author = {{Eric Freeman; Elisabeth Freeman}},
}




\usepackage[square]{natbib}
\usepackage{bibgerm}
\usepackage{url}
[...]
\bibliography{docs/quellen}
\bibliographystyle{plaindin}


Habt ihr einen Tipp?

rais
10-12-2007, 21:38
Moin moin,
pages={hier} in der .bib oder
\cite[hier]{..} im Text?
MfG,

lousypoetry
11-12-2007, 07:22
ist mit "pages" nicht die Gesamtanzahl der Seiten gemeint?

sofa-surfer
11-12-2007, 08:14
ist mit "pages" nicht die Gesamtanzahl der Seiten gemeint?

Nö, eigentlich nicht ;)
Vgl. auch btxdoc (http://bibtexml.sourceforge.net/btxdoc.pdf), Abschnitt 3.2 (Der "offizielle" CTAN-Link mag bei mir gerad nicht, deswegen dieser hier ...)

Matthias

lousypoetry
11-12-2007, 20:40
Habe meinen Entry jetzt wie folgt aufgebaut:



@BOOK{freeman_entwurfsmuster,
title = {Entwurfsmuster von Kopf bis Fuß},
publisher = {O'Reilly},
year = {2006},
author = {{Eric Freeman; Elisabeth Freeman}},
pages = {86--88},
}


Dadurch erscheinen die Seiten zwar, jedoch in der Form

86-88 S. , also mit einem nachgestellten S.

sofa-surfer
11-12-2007, 23:03
Ok, offensichtlich versteht plaindin unter "pages" bei Büchern etwas anderes als bei Artikeln etc. Was du machen kannst, ist eine einfache Änderung der bst-Datei (in der Funktion für die Formatierung der @book-Einträge):


FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check }
{ format.authors format.editors output.nonnull }
if$
set.colon.after
crossref missing$
{ format.btitle.vol "title" output.check }
{ format.btitle "title" output.check }
if$
format.edition "edition" output.check
format.address.publisher.year "publisher" output.check
new.sentence
crossref missing$
{ format.series.number.din output
pages set.period.dash.check%% 19/5/99 wie bei adinat.bst
format.pages.book output
}
{ format.book.crossref output.nonnull
pages set.period.dash.check
format.pages.book output
}
if$
note set.period.dash.check
note output
isbn set.period.dash.check
format.isbn.issn output
fin.entry
}

Den roten Code löschst du einfach, dann sollte es so sein, wie du willst.

Matthias

lousypoetry
12-12-2007, 07:43
Perfekt, vielen Dank! :)