PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Jurabib Komma



Timo Sorg
08-10-2009, 14:18
Hallo zusammen,

nach langer aber erfolgloser Reherche m Forum etc. suche ich nun hier nach einer Lösung für folgendes Problem. Ich gestalte mein Literaturverzeichnis mit Jurabib; der folgende Eintrag ist nicht nach meinen Wünschen (rot markierter Punkt):

Carl Dahlhaus: Musik als Text, in: Dichtung und Musik. Kaleidoskop ihrer Beziehungen, hg. von Günter Schnitzler. Stuttgart: Klett-Cotta 1979, S. 11–35.

Wie kann ich den Punkt durch ein Komma ersetzen? :confused:
Sämtliche mir bekannte Optionen greifen nicht. Hat jemand einen passenden Befehl?

Vielen Dank!

u_fischer
08-10-2009, 14:29
Öffne jurabib.sty, suche nach Befehlen mit der Definition {.}, z.B. \DeclareRobustCommand{\jbaensep}{.}. Kopiere sie nacheinander in die Präambel deines Dokuments, ändere den Punkt in Komma und teste ob du den richtigen Befehl gefunden hast.

Timo Sorg
08-10-2009, 14:52
Öffne jurabib.sty,
Danke für die schnelle Antwort!
Doofe Frage: Wie? Auf meinem Rechner gibt es keine solche Datei.:(

u_fischer
08-10-2009, 15:18
Schau in die log-Datei, dort stehen die Pfade der sty-Dateien, die dein Dokument lädt. Wenn dort jurabib.sty nicht steht, dann benutzt du jurabib nicht.

Timo Sorg
08-10-2009, 15:37
Hab sie gefunden und durchsucht, die Befehle mit {.} kopiert und mit Komma ersetzt – leider nicht mit dem gewünschten Ergebnis: der Punkt bleibt weiterhin.:confused:

Noch eine andere Idee?

u_fischer
08-10-2009, 15:41
Mach ein vollständiges, lauffähiges, kleines Beispiel.

Timo Sorg
08-10-2009, 16:10
\begin{filecontents*}{quellen.bib}
@incollection{Dahlhaus79,
Address = {Stuttgart},
Author = {Carl Dahlhaus},
Booktitle = {Dichtung und Musik. Kaleidoskop ihrer Beziehungen},
Date-Added = {2009-06-03 14:53:10 +0200},
Date-Modified = {2009-06-03 14:55:27 +0200},
Editor = {G{\"u}nter Schnitzler},
Pages = {S.\,11--35},
Publisher = {Klett-Cotta},
Shorttitle = {Musik als Text (1979)},
Title = {Musik als Text},
Year = {1979}}
\end{filecontents*}
\documentclass[pdftex, a4paper, cleardoubleempty, 12pt, oneside]{scrbook}
\usepackage[utf8]{inputenc} % Kodierung
\usepackage[ngerman]{babel} % Sprache
\usepackage[babel]{microtype}
\usepackage[OT2,T1]{fontenc}

%%%% Jurabib

\usepackage[commabeforerest, edby, see, super, bibformat=ibidem]{jurabib}
\jurabibsetup{authorformat=allreversed} % Vorname Nachname
\jurabibsetup{titleformat=all}
\jurabibsetup{titleformat=colonsep}
\jurabibsetup{ibidem=strict}
\renewcommand*{\samepageibidemname}{Ibid.}
%Ibid. statt a.a.O.
\AddTo\bibsgerman{%
\renewcommand*{\ibidemname}{Ibid.}
\renewcommand*{\ibidemmidname}{ibid.}
\def\edbyname{hg. von}%
\def\Edbyname{hg. von}%
\renewcommand*{\bibidemSmname}{---\,}
%Definition Literaturverzeichnis
\renewcommand*{\biblnfont}{\textnormal}
\renewcommand*{\bibfnfont}{\textnormal}
\renewcommand*{\bibefnfont}{\textnormal}
\renewcommand*{\bibelnfont}{\textnormal}
\renewcommand*{\bibbtasep}{ / }
\renewcommand*{\bibtfont}{\textit}
\setlength{\jbbibhang}{2em}
\jurabibsetup{bibformat=compress}
\jurabibsetup{dotafter=bibentry}
\renewcommand*{\bibbtsep}{in: }
\renewcommand*{\bibjtsep}{in: }
\renewcommand*{\bibansep}{: }
\renewcommand*{\bibatsep}{,}
\renewcommand*{\bibbdsep}{}
\renewcommand*{\bibaesep}{, }
\renewcommand*{\jbaensep}{,}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
Test.\cite{Dahlhaus79}
\bibliography{quellen}
\bibliographystyle{jurabib}
\end{document}

So, ich hoffe, es läuft bei Dir...

u_fischer
08-10-2009, 16:37
Nun, es lief nicht, weil eine Klammer fehlte. Abgesehen davon: Der Punkt ist wohl hart kodiert. Du musst die gesamte Definition für \incolledformat auf jurabib.sty kopieren,

\makeatletter
\renewcommand*{\incolledformat}[5]{%
.....
}
\makeatletter

und dann in der Zeile \ifjbchicago\else.\fi den Punkt in ein Komma ändern.

Timo Sorg
08-10-2009, 17:23
Es funktioniert!!!!! :) :)
Genau so möchte ich es haben. Also:
Tausend Dank, Ulrike!

Dubpsy
31-01-2010, 15:01
Hallo!

Ich habe zwei ähnliche Fragen... Ich schreibe meine Arbeit mit jurabook und gestalte mein Literaturverzeichnis mit jurabib.

Nun zu meinen Problemen:

1.) Bei den @ARTICLE-Einträgen erscheint hinter dem journaltitle (also vor der Jahreszahl) ein Komma, dies würde ich gerne weg haben!
Der Befehl \renewcommand{\bibbdsep}{} funktioniert hierfür aber nicht.


Der Eintrag sieht bisher so aus (das rote Komma soll weg):
Nachname, Vorname: Titel des Zeitschriftenartikels, In: Zeitschrift/journaltitle, Jahr, Seiten


2.) Bei den @COMMENTED-Einträgen erscheint hinter der Auflage ein Punkt, es soll aber ein Komma sein!

Der Eintrag sieht bisher so aus (der rote Punkt soll durch ein Komma ersetzt werden):
Nachname1, Vorname1/Nachname2, Vorname2 (Hrsg.): Kommentartitel, Band, Band-/Untertitel, 2. Auflage. Ort Jahr


Es wäre wirklich klasse, wenn mir jemand sagen könnte, wie und wo ich diese Dinge ändern kann!
Vielen Dank schon mal!!

u_fischer
31-01-2010, 15:40
Lies dir die vorherigen Fragen und Antworten mal genau durch, und überlege dir dann, was du noch nicht geliefert hast.

Dubpsy
31-01-2010, 16:04
Oh, okay... entschuldigung!
Wenn ich was vergesse oder so, nehmt es mir bitte nicht übel - ich bin noch nicht allzu fit... sagt einfach Bescheid, was ich noch posten muss!

Also, mein Header sieht so aus:

\documentclass[12pt,a4paper,compact,oneside,openany,longfnrule,fn continued,indexpagenumbers,showpagenumber]{jurabook}
\usepackage[ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage{csquotes}
\usepackage[T1]{fontenc}
\usepackage{eurosym}
\usepackage{fancyhdr}
\usepackage{remreset}
\usepackage{multicol}
\usepackage{xspace}
\usepackage{calc}
\usepackage{ifthen}
\usepackage[dotafter=bibentry,titleformat=all,titlefomat=comma sep]{jurabib}
\formatpages[ ][]{periodical}{(}{)}
\formatpages[ ][]{article}{(}{)}
\usepackage{ragged2e}
\renewcommand{\bibatsep}{,}
\renewcommand{\bibjtsep}{In: }
\renewcommand{\bibbdsep}{}
\renewcommand{\bibpldelim}{(}
\renewcommand{\bibprdelim}{)}
\juraenum
\indentoff
\onehalfspacing


Dann hab ich noch eine [B]jurabib.cfg Datei:

\jurabibsetup{
authorformat={smallcaps,dynamic},
titleformat=commasep,
annotatorlastsep=divis,
commabeforerest,
}


Und mein Hauptdokument sieht so aus:

\input{header}
\begin{document}
\frontmatter
\title{Titel der Arbeit}
\subtitle{bla bla bla}
\author{text text text}
\date{}
\maketitle
\pagestyle{plain}
\tableofcontents
\bibliography{Literatur}
\bibliographystyle{jurabib}
\mainmatter
\input{Kapitel1}
\input{Kapitel2}
\input{Kapitel3}
\input{Kapitel4}
\end{document}


Hier zwei Beipiele aus den Literatur-Einträgen:

@ARTICLE{JunkerNJW2007,
author = {Abbo Junker},
title = {Die Rom II-Verordnung: Neues Internationales Deliktsrecht auf europäischer Grundlage},
journal = {NJW},
shortauthor = {Junker},
shorttitle = {NJW 2007},
year =2007,
pages = {3675 - 3682}
}


@COMMENTED{LoewenheimGWB,
editor = {Loewenheim, Ulrich and Meessen, Karl M. and Riesenkampff, Alexander},
title = {Kartellrecht},
volumetitle ={GWB Kommentar},
volume=2,
shorttitle={GWB Kommentar},
shortauthor={Loewenheim/Meessen/Riesenkampff},
address = {München},
year =2009,
edition =2,
}


So, ich hoffe, ich hab jetzt alle nötigen Angaben gemacht!?!

Würde mich sehr über eure Hilfe freuen!!!:)

lockstep
31-01-2010, 16:17
So, ich hoffe, ich hab jetzt alle nötigen Angaben gemacht!?!

Wenn du gerne Hilfe hättest, liefere ein lauffähiges, kleines Beispiel, das dein Problem demonstriert. Lauffähig bedeutet Code innerhalb einer (!) Codeumgebung, den potentielle HelferInnen kompilieren können. Klein bedeutet durch Versuch und Irrtum auf die wesentlichen Teile reduziert. Näheres siehe hier (http://www.mrunix.de/forums/showthread.php?t=66921).

lockstep

Dubpsy
31-01-2010, 16:26
Ja, das hatte ich mir schon durchgelesen, aber ich bin mit den ganzen Begriffen noch etwas überfordert... was genau meinst du mit "Code innerhalb einer Codeumgebung" ?

An sich läuft ja alles, ich würde halt nur gerne die zwei Zeichen im Literaturverzeichnis ändern... und ich dachte, vielleicht gibt es da den ein oder anderen Befehl, der das ermöglicht. Einige hab ich ja auch schon gefunden und die funktionieren gut, aber für die zwei Probleme, die ich geschildert hab, hab ich einfach nichts gefunden :(

lockstep
31-01-2010, 16:42
was genau meinst du mit "Code innerhalb einer Codeumgebung" ?

Im (erweiterten) Fenster zum Beantworten von Beiträgen gibt es einen Knopf mit einem Raute-Symbol. So fügt man eine Code-Umgebung in eine Antwort ein. Und in diese Code-Umgebung stellt man sein Codebeispiel (dessen Lauffähigkeit man vorher ausprobiert hat).



An sich läuft ja alles, ich würde halt nur gerne die zwei Zeichen im Literaturverzeichnis ändern... und ich dachte, vielleicht gibt es da den ein oder anderen Befehl, der das ermöglicht.

Ist vermutlich auch der Fall. Bloß, ohne lauffähiges Beispiel erhöhst du den Aufwand für potentielle Helfer und senkst damit ihre Bereitschaft zur Hilfe. (Es kommt zwar auch vor, dass Fehler mit einem einzigen Blick auf ein Codefragment erkennbar sind, das ist aber eher die Ausnahme.)

lockstep

Dubpsy
31-01-2010, 16:45
Ah, okay... wenn ich das jetzt richtig verstanden habe, muss ich also meine ganzen lauffähigen Befehle aus dem Header etc. in diese Codeumgebung einfügen!?

Entschuldigt, dass ich da etwas schwer von Begriff bin :rolleyes:

lockstep
31-01-2010, 16:50
Ah, okay... wenn ich das jetzt richtig verstanden habe, muss ich also meine ganzen lauffähigen Befehle aus dem Header etc. in diese Codeumgebung einfügen!?

Nicht "meine ganzen". Alle die (und nur die), die für dein Problem wesentlich sind. Welche das sind, musst du durch Versuch und Irrtum herausfinden.

Und beachte: Lauffähig heißt Präambel und eigentliches Dokument (beides so lang wie nötig, so kurz wie möglich).

lockstep

Dubpsy
31-01-2010, 16:59
Okay, ich probier's einfach mal...



%Präambel (Header):

\documentclass[12pt,a4paper,compact,oneside,openany,longfnrule,fn continued,indexpagenumbers,showpagenumber]{jurabook}
\usepackage[ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage{eurosym}
\usepackage{fancyhdr}
\usepackage{remreset}
\usepackage{multicol}
\usepackage{xspace}
\usepackage{calc}
\usepackage{ifthen}
\usepackage[dotafter=bibentry,titleformat=all,titlefomat=comma sep]{jurabib}
\usepackage{ragged2e}
\renewcommand{\bibatsep}{,}
\renewcommand{\bibjtsep}{In: }
\renewcommand{\bibbdsep}{}
\renewcommand{\bibpldelim}{(}
\renewcommand{\bibprdelim}{)}

%Hauptdokument:

\input{header}
\begin{document}
\frontmatter
\bibliography{SemLiteratur}
\bibliographystyle{myjurabib}
\mainmatter
TEST
\end{document}



Da sind jetzt bestimmt ein paar Befehle zu viel drin - entschuldigt!

Muss ich noch irgendwo einen Beispieltext einfügen, wo die oben genannten Literaturquellen zitiert werden? Und muss ich die obigen Einträge noch irgendwo einfügen?

lockstep
31-01-2010, 17:08
Okay, ich probier's einfach mal...


Probier stattdessen einmal, das (http://www.mrunix.de/forums/showthread.php?t=66921) sorgfältig durchzulesen. Das erste Minimalbeispiel erzeugt man normalerweise nicht in fünf Minuten.

lockstep

u_fischer
31-01-2010, 17:22
Du sollst ein möglichst kleines Beispiel machen, anhand dessen ich dein Problem nachvollziehen können. Ich nutze jurabib nicht und habe keine Ahnung welcher Befehl was tut. Aber mit einem kleinen Testdokument bekomme ich sowas (wie du ja an der vorherigen Fragen gesehen hast) i.a. schnell raus. Ich werde dieses kleine Testdokument aber nicht erstellen, dazu habe ich weder die Lust noch die Zeit. Das ist deine Aufgabe.

Je weniger Mühe es mich kostet, das Testdokument bei mir durchlaufen zu lassen und zu verstehen, umso höher deine Chance, dass ich mich mit dem Problem beschäftige.

Dinge wie \input{...} sind dabei tabu, denn deine input-Dateien habe ich nicht. Pakete wie multicol, fancyhdr, eurosym etc habe in dem Beispiel nichts zu suchen, weil sie nicht relevant für das Problem sind. Wenn der Stil myjurabib relevant ist, musst du ihn zur Verfügung stellen. Eine Beispiel bib ist natürlich auch wichtig.

Dubpsy
31-01-2010, 19:00
Ich hab da nochmal ne doofe Frage - nur damit ich nicht wieder ein Beispiel poste, mit dem man nichts anfangen kann... Und zwar: wenn ich das Minimalbeispiel erstelle, kann ich dann einfach ein neues Projekt mit einem einzigen LaTeX-Dokument erstellen, in das ich die maßgeblichen Befehle etc. eingebe bzw. reinkopiere??

Entschuldigt nochmal, dass ich da noch nicht so fit drin bin - will aber diesmal alles richtig machen!!

lockstep
31-01-2010, 19:21
Zum Nachvollziehen deines Problems ist es unerheblich, auf welche Art du dein Beispiel erzeugst oder in Projekten verwaltest. Entscheidend ist, dass der Code a) lauffähig b) klein ist und c) dein Problem demonstriert. Stark vereinfacht sollte er so aussehen:



\documentclass{GeeigneteKlasse}

\usepackage{RelevantesPaketA}
\usepackage[RelevanteOptionen]{RelevantesPaketB}

\renewcommand{\Befehlsname}{\NeueBefehlsdefinition }

\usepackage{filecontents}% Zum "Mitverpacken" von Zusatzdateien (z.B. .bib)

\begin{filecontents}{RelevanteZusatzdatei.Dateiend ung}
Inhalt der relevanten Zusatzdatei
\end{filecontents}

\begin{document}

Inhalt der Hauptdatei

\end{document}


lockstep