PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Großes jurabib-Problem! Bitte helft mir!



putz
02-09-2006, 21:05
Liebe LaTex-Experten,

ich habe hier schon im Forum über jurabib alles abgegrast und bin langsam am Verzweifeln! Bitte helft mir! Ich schreibe meine Zulassungsarbeit im Fach Alte Geschichte und da gibt es halt beim Literaturverzeichnis einige spezielle Anforderungen.

Also:
Ich hätte gerne, dass im Literaturverzeichnis die Titel in Zeitschriften/Sammelbänden so aussehen:
Nachname, Vorname: Titel, in: Titel_Zeitschrift Bandnummer (Jahrgang). also:
Walbank, F. W.: Polybios' Sicht der Vergangenheit, in: Gymnasium 92 (1990).

Bei mir kommt aber:
Walbank, F.W.: Polybios' Sicht der Vergangenheit, in: Gymnasium, 1990, Nr. 92.

Ebenso hätte ich gerne bei Aufsätzen in Sammelwerken:
Nachname, Vorname: Titel, in: Vorname_Herausgeber, Nachname_Herausgeber (Jahr)

Also:
Koselleck, R.: Geschichte, in: Brunner/Conze/Koselleck (1992)
statt:
Koselleck, R.: Geschichte, In Brunner/Conze/Koselleck (1992).

Könntet ihr mir bitte helfen? Es ist sehr, sehr wichtig!
Vielen Dank im Voraus an alle, die sich mit meinem Problem beschäftigen.

Gruß
Felix

Hier - falls notwendig - mein Quellcode:
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ibycus, ngerman]{babel}
\usepackage[hang, bottom]{footmisc}
\usepackage{jurabib}

\jurabibsetup{
authorformat=smallcaps,
authorformat=citationreversed,
authorformat=year,
authorformat=abbrv,
titleformat=italic,
titleformat=colonsep,
ibidem=strict,
howcited=normal,
bibformat=compress, % Abstand zwischen den einzelnen Einträgen wird verringert
citefull=first,
%bibformat=numbered % nummeriert die Einträge im Literaturverzeichnis
%bibformat=ibidem % macht bei mehreren Titel eines Autors einen Spiegelstrich
}
\renewcommand*{\bibatsep}{,}
\renewcommand*{\bibbdsep}{}
\renewcommand*{\bibbtsep}{in: }
\renewcommand*{\bibjtsep}{in: }
\renewcommand*{\biblnfont}{\textsc} % Nachname des Autors
\renewcommand*{\bibfnfont}{} % Vorname des Autors
\renewcommand*{\bibtfont}{\textit} % Titel bei Monographien
\renewcommand*{\bibbtfont}{\textit} % Titel bei Sammelwerken
\renewcommand*{\bibjtfont}{\textit} % Titel bei Zeitschriften
%\renewcommand*{\bibefnfont}{}
%\renewcommand*{\bibelnfont}{}
\setlength{\jbbibhang}{1.5em} % Einzugsgröße

\parindent0pt
\renewcommand{\footnoterule}{\raisebox{1.5ex}{\rul e{5cm}{.3pt}}}
\linespread{1.25}

\renewcommand{\textit}{\textsl}


\begin{document}

\nocite{*} % Alle Titel aus der Datenbank in das Literaturverzeichnis
\jbdotafterbibentry % Punkt am Ende jedes Eintrags


\bibliographystyle{jurabib}
\bibliography{polybios}





Beispiel für eine Monographie \footnote{\cite[25-77.]{Walbank:1972}}

nochmaliges Zitieren \footnote{\cite[13--15.]{Walbank:1972}}

Zeitschriftenartikel \footnote{\cite[12--14]{Walbank}}

Sammelbandartikel \footnote{\cite[12--14]{Koselleck:1992}}



\thebibliography

\end{document}

Georgina
03-09-2006, 13:05
Bin zwar kein Experte, aber ich habe bei ähnlichen Problemen in der bibstyle-Datei herum gespielt (bei dir vermutlich jurabib.styoder so ähnlich).

Für das "In:" bspw. würde ich in der bibstyle-Datei mal nach "bbl.in" oder nur "in:" suchen. Dann findest du wahrscheinlich folgendes:

FUNCTION {bbl.in}
{ "In:" }
das du in


FUNCTION {bbl.in}
{ "in:" }
änderst. Könnte doch gehen, oder was sagen die Experten hier im Forum? :)

Das erste Problem ist wahrscheinlich schwieriger zu lösen. Da musst du dich ein wenig mehr mit dem Aufbau der bibstyle-Datei auseinandersetzen.
Ein Zeitschrifteneintrag ist dort z.B. so kodiert (sieht bei dir sicher etwas anders aus, weil ich "paper-de" verwende:


FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
crossref missing$
{ journal
purify$
emphasize "journal" output.check
add.blank
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
format.note output
fin.entry
}

Und der verweist wiederum auf Formatierungsangaben, wie


FUNCTION {format.vol.num.pages}
{ volume field.or.null
bolden
number empty$
'skip$
{
"(" number * ")" * *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
}
if$
format.journal.pages
}
für die Volume-Angabe.

Da ist Basteln angesagt.

Wie man das aus der tex-Datei heraus macht, davon habe ich noch weniger Ahnung.

putz
03-09-2006, 19:55
hallo georgina,

vielen Dank für die Antwort, aber in der jurabib.sty gibt es keine "In" oder "in"-Strings. Auch ist der Aufbau viel komplizierter, wie ich mir das vorgestellt habe. Könntest du vielleicht eventuell dir die Datei anschauen? Hab mit der Suchfunktion im Editor alles ausgetestet, aber ich find einfach nichts.

Falls die anderen LaTex-Experten noch eine Möglichkeit sehen: bitte meldet euch, ich bin nämlich echt am verzweifeln!!

Danke!

rais
03-09-2006, 20:13
Moin moin,
also eigentlich sollten doch


\renewcommand*{\bibbtsep}{in: }
\renewcommand*{\bibjtsep}{in: } bereits dafür sorgen, daß richtig mit "in: " getrennt wird.
Wie hast Du denn Deine .bib aufgebaut? Zumindest ein Auschnitt mit den drei hier zitierten Werken wäre hilfreich...


\linespread{1.25} -> besser setspace laden und \onehalfspacing verwenden, vgl. l2tabu


\renewcommand{\textit}{\textsl}
Ich wusste gar nicht, daß man einen Befehl, der eigentlich einen Parameter erwartet, so aufrufen bzw. umdefinieren kann, hätte also eigentlich eher \renewcommand{\textit}[1]{\textsl{#1}} erwartet.
Davon abgesehen: wieso nimmst Du nicht gleich \textsl statt \textit ?

Wozu rufst Du am Ende \thebibliography auf? Das Literaturverzeichnis wird doch von \bibliography{..} bereits erstellt...:confused:

MfG,

Georgina
04-09-2006, 08:19
hallo georgina,

vielen Dank für die Antwort, aber in der jurabib.sty gibt es keine "In" oder "in"-Strings. Auch ist der Aufbau viel komplizierter, wie ich mir das vorgestellt habe. Könntest du vielleicht eventuell dir die Datei anschauen? Hab mit der Suchfunktion im Editor alles ausgetestet, aber ich find einfach nichts.

Wie gesagt, ich bin kein Experte, deswegen bringt es nichts, wenn ich mir die bibstyle-Datei ansehe. Ich habe nur mal vor einiger Zeit so 2-3 Dinge im paper-de-Stil verändert. Dafür habe ich mehrere Tage so ziemlich alles verändert und ausprobiert. Das kannst du genauso gut/schlecht wie ich.

Zumal der Weg, den rais beschreibt, viel eleganter ist - falls er funktioniert.

putz
04-09-2006, 10:46
Hallo rais,

hier drucke ich dir mal einen Teil der bib ab, hoffe, ich habe das richtige ausgewählt:


@article{Walbank,
author = {Walbank, Frank William},
title = {Polybios' Sicht der Vergangenheit},
journal = {Gymnasium},
volume = {1990},
number = {92},
pages = {15--30},


@collection{Brunner:1992,
author = {Brunner, Otto and Conze, Werner and Koselleck, Reinhart},
booktitle = {E - G},
series = {Geschichtliche Grundbegriffe},
editor = {Arbeitskreis f{\"u}r Moderne Sozialgeschichte},
year = {1992},
volume = {Bd. 2},
address = {Stuttgart},
publisher = {Klett-Cotta},
isbn = {3129038604},
}


@incollection{Koselleck:1992,
author = {Koselleck, Reinhart},
title = {Geschichte},
year = {1992},
crossref = {Brunner:1992},
}

Leider beheben
\renewcommand*{\bibbtsep}{in: }
\renewcommand*{\bibjtsep}{in: }
nicht das Problem. Irgendwo müsste bei Zeitschriften was mit "Nr." stehen, was ich eben gerne unterdrücken möchte (und dann noch die Reihenfolge mit Bandnummmer und Jahreszahl ändern, s.o).

Kannst du mir helfen? Vielen, vielen Dank, dass du dich mit meinem Problem beschäftigst!

Gruß
putz

rais
04-09-2006, 16:57
Hallo,

Ich hätte gerne, dass im Literaturverzeichnis die Titel in Zeitschriften/Sammelbänden so aussehen:
Nachname, Vorname: Titel, in: Titel_Zeitschrift Bandnummer (Jahrgang). also:
Walbank, F. W.: Polybios' Sicht der Vergangenheit, in: Gymnasium 92 (1990).

Bei mir kommt aber:
Walbank, F.W.: Polybios' Sicht der Vergangenheit, in: Gymnasium, 1990, Nr. 92.

Also wie Du das bewerkstelligst, weiß ich auch noch nicht, aber ein erster Ansatz wäre vielleicht einfach journal={Gymnasium {\em 92}} anzugeben und "number" entsprechend unter den Tisch fallen zu lassen - dann fehlen Dir hier nur noch die Klammern um die Jahreszahl, wenn ich das richtig sehe.


Ebenso hätte ich gerne bei Aufsätzen in Sammelwerken:
Nachname, Vorname: Titel, in: Vorname_Herausgeber, Nachname_Herausgeber (Jahr)

Also:
Koselleck, R.: Geschichte, in: Brunner/Conze/Koselleck (1992)
statt:
Koselleck, R.: Geschichte, In Brunner/Conze/Koselleck (1992).

Sorry, war falsches in;-)


\AddTo\bibsgerman{%
\renewcommand{\collinname}{in: }
}
in Deiner Präambel sollte hier so tun.;)
MfG,

putz
04-09-2006, 19:02
hallo rais,

erst noch einmal danke, dass du dich immer wieder mit meinem Problem beschäftigst.

bei deinem 2. Vorschlag erscheint allerdings:
\collinname undefined.

Was soll ich tun?

rais
05-09-2006, 11:31
Uuups,


\AddTo\bibsgerman{%
\renewcommand{\incollinname}{in: }
}
muß es natürlich heißen.
MfG,

putz
05-09-2006, 14:59
hallo Rainer,

vielen Dank, hat funktioniert!

Hab dir eine PM geschickt, kannst du die bitte mal anschauen?

Viele Grüße
putz

rais
05-09-2006, 18:00
Moin moin,
ändere mal in Deiner *.bib:


@periodical{Walbank,
author={Walbank, Frank William},
title={Polybios' Sicht der Vergangenheit},
journal={Gymnasium},
year={1990},
volume={92},
}

und ergänze in Deiner Präambel


\renewcommand*{\bibpldelim}{(}
\renewcommand*{\bibprdelim}{)}

vgl. jbgerdoc, Abschnitt ``Weitere Eintragsfelder und Eintragstypen'' die Erläuterung zu @PERIODICAL.;)

PS) Du brauchst mir keine PM zu schicken, bloß damit ich mir ein Problem in einem Thread ansehe :p

MfG,

putz
06-09-2006, 12:37
hallo Rainer!!!

Du bist super!!! Vielen, vielen Dank!
Es funktioniert!:)

Es gibt jetzt nur noch ein Problem, und zwar bei der von dir vorgeschlagenen Umwandlung von article in peridodical:
Weil ich meine Literatur komplett in Citavi verwalte, das mir dann automatisch die BibTex-Datei generiert (*sehr praktisch!*), hab ich gerade geschaut, welches Format in Citavi denn einen periodical-Eintrag in die *.bib-Datei macht. Entsetzen: Keine!

Gibt es vielleicht eine Möglichkeit, das ganze auch mit article zu machen?

Gruß
Putz

putz
06-09-2006, 21:27
Hallo Rainer,

ich habe den Rest jetzt folgendermaßen gelöst und das ist auch eigentlich eine akzeptable Lösung:

Bei Citavi trage ich die Bandnummer bei "Jahrgang" ein, dann gibt er automatisch volume aus.
Bevor ich dann halt kompiliere, muss ich noch alle "article" in "periodical" umwandeln.

Aber dann funktioniert es ganz gut! Dank dir!:)

Jetzt meine Frage: Das könnte nicht die letzte Jurabib-Frage gewesen sein. Darf ich mich dann wieder an dich wenden? (du willst ja keine PMs)

Gruß
Felix
... und nochmals ganz vielen DANK!!

putz
06-09-2006, 22:19
nochmal hallo Rainer,

ich bin ganz stolz! Hab herausgefunden, dass man einfach nur

\renewcommand*{\bibaldelim}{(}
\renewcommand*{\bibardelim}{)}

statt

\renewcommand*{\bibjldelim}{(}
\renewcommand*{\bibjrdelim}{)}

schreiben muss, dann brauch ich auch gar nicht mehr article in periodical umbenennen! juchuuuu!:)
(*Ich hab endlich auch mal was rausgefunden*)

Gruß
Felix

rais
07-09-2006, 12:58
That's the spirit!
Weiter so :D
MfG,

Georgina
12-09-2006, 12:46
Sind solche Befehle eigentlich bibstyle-spezifisch:


\renewcommand*{\bibaldelim}{(}
\renewcommand*{\bibardelim}{)}


??

Und wenn nicht, gibt es da ein Verzeichnis, wo man diese Befehle mit ihrer Bedeutung aufgelistet bekommt?

rais
12-09-2006, 13:50
Moin moin,

Sind solche Befehle eigentlich bibstyle-spezifisch:

in der Tat...
In diesem Fall sollten sie in der Doku zum jurabib-Paket zu finden sein.
MfG,