PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Jurabib] Kein Komma vor Jhreszahl



MC3330
26-07-2014, 09:16
Hallo,

ich habe eine Zitiervorgabe, die verlangt, dass zwischen Autor und Jahreszahl keine Komma steht. Leider bekomme ich das mit Jurabib einfach nicht hin.

So wie das verstehe, müssten laut Jurabib-Manual (http://ctan.dcc.uchile.cl/macros/latex/contrib/jurabib/docs/german/jbgerdoc.pdf) die Zeilen

\usepackage[authorformat=year]{jurabib}
\renewcommand*{\jbcitationyearformat}[1]{(#1)}
eigentlich dafür sorgen, dass das Komma wegfällt.
Das folgenden Minimalbeispiel liefert bei mir leider immer "(vgl. Mustermann & Doe, 2000, 9)" statt (vgl. Mustermann & Doe 2000, 9).

Hat jemand eine Idee, woran das liegen könnte?


%präambel
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[authorformat=year]{jurabib}
\renewcommand*{\jbcitationyearformat}[1]{(#1)}
\renewcommand*{\jbbtasep}{ \& } % bta = between two authors sep
\renewcommand*{\jbbfsasep}{, } % bfsa = between first and second author sep
\renewcommand*{\jbbstasep}{ \& }% bsta = between second and third author sep
\begin{document}
(vgl. Mustermann \& Doe 2000, 9) \\
\citep[vgl.][9]{buch}
\newpage
\bibliographystyle{jureco}
\bibliography{./literatur}
\end{document}



@book{buch,
Author = {Manfred Musterann and John Doe},
Date-Added = {2014-07-26 08:09:58 +0200},
Date-Modified = {2014-07-26 08:10:53 +0200},
Publisher = {Musterverlag},
Title = {Buchname},
Year = {2000}}

u_fischer
26-07-2014, 11:06
Das Komma ist fest kodiert. Da gibt es keinen Hook. Du musst die internen Befehle ändern.


\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[authorformat=year]{jurabib}

\makeatletter
\def\jb@@citep[#1][#2]#3{%
\def\jb@enote@hook{%
\def\jb@nat@commands{%
\ifthenelse{%
\boolean{jb@ibidem}%
\and
\(%
\equal{\jb@@lastauthorcite}{\jb@@newauthorcite}%
\or
\equal{\jb@@newauthorcite}{\jb@@lastfootauthorcite }%
\)%
\and
\(\(\equal{\jb@lastcite@footcite}{1}\and\equal{\jb @recentcite@footcite}{1}\)%
\or
\(\equal{\jb@lastcite@footcite}{0}\and\equal{\jb@r ecentcite@footcite}{0}\)%
%\or
%\(\equal{\jb@lastcite@footcite}{0}\and\equal{\jb@ recentcite@footcite}{1}\)
\)%
}{%
\ibidemmidname%
}{%
\jbauthorfont{\jb@@author}%
\ifthenelse{\equal{\jb@@year}{}}{}{\space\jb@@year }%<---da geändert
}%
}%
\renewcommand{\jb@nat@cite@left@sep}{}\renewcomman d{\jb@nat@cite@right@sep}{}%
\renewcommand{\jb@nat@citep@left@sep}{(}\renewcomm and{\jb@nat@citep@right@sep}{)}%
\jb@footfalse
\jbweareinendnotestrue
}%
\jb@enote@hook
\jb@footfalse
\jb@emulate@nat@cite[#1][#2]{#3}\endgroup
}%
\makeatother
\renewcommand*{\jbbtasep}{ \& } % bta = between two authors sep
\renewcommand*{\jbbfsasep}{, } % bfsa = between first and second author sep
\renewcommand*{\jbbstasep}{ \& }% bsta = between second and third author sep
\begin{document}
(vgl. Mustermann \& Doe 2000, 9) \\
\citep[vgl.][9]{buch}
\newpage
\bibliographystyle{jureco}
\bibliography{bib}
\end{document}


Wenn du noch weitere Baustellen hast: lass jurabib sein. Das Anpassen ist eine einzige Qual. Nimm lieber biblatex + biber.

MC3330
26-07-2014, 11:13
wow, vielen Dank. Fürs erste reicht das, aber wenn das nächste mal Probleme auftauchen werde ich mir das mit biblatex + biber mal anschauen.