PDA

View Full Version : biblatex-jura anpassen



plempel
17-12-2009, 16:14
Hallo Forum
Bin am schreiben meiner ersten juristischen Arbeit. Um es möglichst kompliziert zu machen, hat die Uni Vorgaben erstellt, welche - so scheint es mir - möglichst ungewöhnlich sind (siehe Zitierart.pdf).
Nach vielen Stunden gefrickel hab ich mit Hilfe von biblatex-jura folgendes Minimalbespiel erstellt.
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{typearea}
\usepackage[style=biblatex-jura,firstnamefont=smallcaps,namefont=smallcaps]{biblatex}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage{csquotes}
\bibliography{testliteratur.bib}

\begin{document}
1. Zitat.\autocite[N. 12]{H-A_Personenrecht} \par
2. Zitat.\footcite{D-S_Personnes} \par
3. Zitat.\autocite{B_Personenrecht} \par
4. Zitat.\autocite{B_Personenrecht1} \par

\printbibliography
\end{document}

testliteratur.bib:

@Book{H-A_Personenrecht,
author = "Hausheer, Heinz and Aebi-Müller, Regina E.",
title = "Das Personenrecht des Schweizerischen Zivilgesetzbuches",
year = "2008",
location = "Bern",
edition = "2"
}
@Book{D-S_Personnes,
author = "Deschenaux, Henri and Steinauer, Paul-Henri",
title = "Personnes physiques et tutelle",
year = "2001",
location = "Bern",
edition = "4"
}
@Book{B_Personenrecht,
author = "Baumann, Max",
title = "Personenrecht des ZGB",
year = "2008",
location = "Zürich/St. Gallen",
}
@Book{B_Personenrecht1,
author = "Baumann, Max",
title = "Personenrecht des ZGB 2",
year = "2008",
location = "Zürich/St. Gallen",
}

Jetzt zu meinen beiden dringendsten Problemen:

1. Ich habe keine Ahnung, wie ich die Gestaltung des Literaturverzeichnisses so hinbekommen soll (Autorennamen links, alle anderen Angaben rechts).
2. In den Fussnoten sollen nur die Autorennamen, nicht jedoch die Buchtitel erscheinen.

Wer kann mir hier Tipps geben?

edit: Bevor Fragen auftauchen: Ich verwende das Packet german statt ngerman, da ngerman und biblatex-jura zusammen Probleme machten. Fand jedoch bis jetzt andere Dinge dringender, als dem auf den Grund zu gehen...

plempel
17-12-2009, 18:14
2. In den Fussnoten sollen nur die Autorennamen, nicht jedoch die Buchtitel erscheinen.
Dies hab ich schon hingekriegt, indem ich aus der Makrodefinition von cite:normal in der biblatex-jura.bbx die Zeile
\usebibmacro{cite:title}% entfernt hab. Vielleicht nicht die schönste Lösung, aber es scheint zu klappen. Aber Frage 2 ist für mich noch immer ein grosses Rätsel.

mechanicus
18-12-2009, 21:58
Hallo,

hier mal ohne ändern einer Datei. Beachte hierbei, dass ich es nur für book angepasst habe:

\documentclass[a4paper]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{typearea}
\usepackage[style=biblatex-jura,firstnamefont=smallcaps,namefont=smallcaps]{biblatex}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage{csquotes}
\bibliography{testliteratur.bib}
\usepackage{filecontents}
\begin{filecontents*}{testliteratur.bib}
@book{H-A_Personenrecht,
author = "Hausheer, Heinz and Aebi-Müller, Regina E.",
title = "Das Personenrecht des Schweizerischen Zivilgesetzbuches",
year = "2008",
location = "Bern",
edition = "2"
}
@book{D-S_Personnes,
author = "Deschenaux, Henri and Steinauer, Paul-Henri",
title = "Personnes physiques et tutelle",
year = "2001",
location = "Bern",
edition = "4"
}
@book{B_Personenrecht,
author = "Baumann, Max",
title = "Personenrecht des ZGB",
year = "2008",
location = "Zürich/St. Gallen",
}
@book{B_Personenrecht1,
author = "Baumann, Max",
title = "Personenrecht des ZGB 2",
year = "2008",
location = "Zürich/St. Gallen",
}
\end{filecontents*}

\makeatletter
\renewbibmacro*{cite:normal}{%
\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{cite:ibid}}
{\ifthenelse{\iffieldequals{namehash}{\cbx@lasthas h}\AND\NOT\iffirstonpage}%
{\usebibmacro{cite:idem}%
% \usebibmacro{cite:title}%
\usebibmacro{cite:savename}}
{\ifnameundef{labelname}
{}
{\printnames{labelname}%
\gdef\cbx@tempa{\citenamepunct}}%
% \usebibmacro{cite:title}%
\usebibmacro{cite:savename}}}%
}
\makeatother
\usepackage{ragged2e}
\DeclareBibliographyDriver{book}{%
\begin{minipage}[t]{0.4\textwidth}\RaggedRight
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
\setunit{\labelnamepunct}\newblock%
\end{minipage}\quad%
\begin{minipage}[t]{0.5\textwidth}\RaggedRight
\usebibmacro{maintitle+title}%
\newunit
\usebibmacro{byauthor}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{edition}%
\newunit
\usebibmacro{volumes+volume+part}%
\setunit{\addspace}%
\usebibmacro{series+number}%
\newunit\newblock
% \printfield{note}%
% \newunit\newblock
\usebibmacro{publisher+location+year}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit
% \printfield{pagetotal}
% \newunit\newblock
% \printfield{isbn}%
% \newunit\newblock
% \printfield{doi}%
% \newunit\newblock
% \usebibmacro{url+urldate}%
% \newunit\newblock
% \usebibmacro{thesisaddendum}
% \newunit\newblock
\printfield{addendum}%
\newunit\newblock
% \usebibmacro{pageref}%
\end{minipage}\vspace*{3ex}%
}

\usepackage{setspace}
\begin{document}
1. Zitat.\autocite[N. 12]{H-A_Personenrecht} \par
2. Zitat.\footcite{D-S_Personnes} \par
3. Zitat.\autocite{B_Personenrecht} \par
4. Zitat.\autocite{B_Personenrecht1} \par
\nocite{*}
\printbibliography
\end{document}

Gruß
Marco

plempel
19-12-2009, 09:32
Wow Marco, vielen Dank. Der Code funktioniert, allerdings brauche ich jetzt erstmals etwas Zeit, den zu verdauen. Melde mich dann wieder.

plempel
21-12-2009, 10:29
Würde gerne noch auf die Anmerkung im Ausganspost zurückkommen: Das Minimalbeispiel funktioniert, sobald ich jedoch ngerman statt german verwende, bekomme ich etwa 30x den Fehler
---schnipp---
Package biblatex Info: Trying to load language 'ngerman'...
Package biblatex Info: ... file 'ngerman.lbx' found.

(/usr/share/texmf/tex/latex/biblatex/lbx/ngerman.lbx
File:ngerman.lbx,v 0.8e 2009/07/04 biblatex localization
Package biblatex Info: Trying to load language 'german'...
Package biblatex Info: ... file 'german.lbx' found.

(/usr/share/texmf/tex/latex/biblatex/lbx/german.lbx
File: german.lbx 2009/05/30 v0.8d biblatex localization
)
! Undefined control sequence.
<argument> Begr\adddot

l.9 \InheritBibliographyExtras{german}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
<argument> Begr\adddot

l.9 \InheritBibliographyExtras{german}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
<argument> begr\adddot
\space von
l.9 \InheritBibliographyExtras{german}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
<argument> Fortf\adddot

l.9 \InheritBibliographyExtras{german}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
<argument> Fortf\adddot

l.9 \InheritBibliographyExtras{german}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
<argument> fortgef\adddot
\space von
l.9 \InheritBibliographyExtras{german}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
<argument> zugl\adddot

l.9 \InheritBibliographyExtras{german}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
<argument> Hrsg\adddot

l.9 \InheritBibliographyExtras{german}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
---schnapp---

Kann leider nicht sehr viel damit anfangen, da dies die aktuellsten Files sind und ich nichts daran geändert habe.

edit: habe soeben noch eine neuere Version von ngerman.lbx entdeckt, hat aber nichts genützt.

mechanicus
21-12-2009, 12:27
Hi,

schaue mal in mein MB. Du solltest statt ngerman oder german das Paket babel laden mit der Option ngerman. Dann ist das Problem weg.
Ein Update all deiner Paket wäre zudem auch nützlich.


Gruß
Marco

plempel
21-12-2009, 13:14
Lieber Marco, schau dir doch bitte Zeile 4 meines Minimalbeispieles an, dann siehst du, dass ich babel mit der option german lade (ngerman geht eben nicht). Jedoch ist mir aufgefallen, dass ich nicht die neueste Version von babel habe. Meine ist:
babel.sty 2005/11/23 v3.8h The Babel package, allerdings finde ich weder bei ctan noch sonst wo eine neuere Version. Kannst du mir da weiterhelfen?

mechanicus
21-12-2009, 13:55
Hallo,

sorry, das habe ich glatt übersehen.

Bei folgenden MB:

\listfiles
\documentclass[ngerman]{article}
\usepackage{babel}
\begin{document}
Text
\end{document}

Habe ich in der Log-Datei folgende Einträge:

*File List*
article.cls 2007/10/19 v1.4h Standard LaTeX document class
size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
babel.sty 2008/07/06 v3.8l The Babel package
ngermanb.ldf 2008/07/06 v2.6n new German support from the babel system
***********


Ich weiß jetzt nicht, welche Distribution du nutzt. Normalerweise hat jede (neuere) Distribution einen Updatemanager, welchen du nutzen solltest.

Gruß
Marco

plempel
21-12-2009, 19:59
Habe babel jetzt aktualisiert, hat aber nichts gebracht. Egal, dann arbeite ich halt weiter mit german. Wird nicht so schlimm sein.
Danke trotzdem für die Hilfe.

u_fischer
21-12-2009, 22:50
Dein Fehler kommt auch nicht von babel. \adddot wird von biblatex definiert. Um den Fehler zu finden braucht man aber ein vollständiges Minimalbeispiel + die log-Datei dieses Minimalbeispiels.