Probleme mit biblatex in quotation-Umgebung

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.
Martin Wetzel

Probleme mit biblatex in quotation-Umgebung

Beitrag von Martin Wetzel »

Hallo,

ich habe die quotation-Umgebung so angepasst, dass sie von Anführungsstrichen umgeben ist. Ungünstiger Weise war damit die Quelle des Zitats auch noch im Zitat enthalten. So habe ich versucht die quotation-Umgebung weiter anzupassen, so dass die Quelle erst nach den Ausführungszeichen kommt, aber noch in der selben Formatierung wie das Zitat.
Dies erzeugt jedoch ein Problem mit biblatex, auf das ich keine Antwort finde:
Bei Quellenangaben ohne Seitenangabe funktioniert alles, wenn ich jedoch (wie an dieser Stelle zwingend erforderlich) noch die Seitenzahl hinzufuge, dann kommt diese Fehlermeldung:
File ended while scanning use of \blx@citeargs@i.
Kann mir jemand helfen?

Viele Grüße,
martin

Code: Alles auswählen

%%%%%% Minimalbeispiel %%%%%%%%%

% bib-Datei
\begin{filecontents}{test.bib}
@Book {Homer,
title = {Seine Abenteuer},
year = {2009},
author = {Matt, G.},
location = {Berlin}
}
\end{filecontents}

\documentclass[pdftex,a4paper]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1] {fontenc}
\usepackage[ngerman]{babel}
\usepackage[babel]{csquotes}
\usepackage{ifthen}
% Bibliographie
\usepackage[style=authoryear-ibid]{biblatex}
\bibliography{test}

% Anpassung der Quotation-Umgebung
\let\oldquotation\quotation
\let\oldendquotation\endquotation
\newcommand{\zitatquelle}{}
\renewenvironment{quotation}[1][]{%
    \renewcommand{\zitatquelle}{#1}
    \oldquotation
        \small\par\noindent\makebox[-4pt][r]{\frqq}%
}{%
        \makebox[8pt][l]{\flqq}\ignorespaces
        \ifthenelse{\equal{\zitatquelle}{}}{}{(\zitatquelle)}
    \oldendquotation
    }



\begin{document}

text\\
text text\\
text text text
\begin{quotation}[\cite[98]{Homer}]
text
\end{quotation}
text text text\\
text text \\
text \\

\printbibliography
\end{document}


Martin Wetzel

Probleme mit biblatex in quotation-Umgebung

Beitrag von Martin Wetzel »

Beim Rumspielen zeigte sich, dass wenn die Quelle in geschweiften Klammern geschrieben wird, dass es dann funktioniert. Warum auch immer. :?

Code: Alles auswählen

\begin{quotation}[{\cite[78]{Homer}}]
text
\end{quotation}
Damit geht es zumindest vorübergehend.

phi
Moderator
Moderator
Beiträge: 420
Registriert: Fr 6. Feb 2009, 21:28

Re: Probleme mit biblatex in quotation-Umgebung

Beitrag von phi »

Martin Wetzel hat geschrieben:Beim Rumspielen zeigte sich, dass wenn die Quelle in geschweiften Klammern geschrieben wird, dass es dann funktioniert. Warum auch immer. :?
Das liegt an einem technischen Problem. Bei eckigen Klammern wird im Gegensatz zu geschweiften Klammern die korrekte Schachtelung nicht beachtet. Konkret heißt das, dass optionale Argumente immer genau vor der ersten schließenden Klammer, die sich nicht selbst in einer Gruppe geschweifter Klammern befindet, enden. Bei

Code: Alles auswählen

\begin{quotation}[\cite[78]{Homer}] 
endet das optionale Argument also bereits nach 78. Die Syntax „\cite[78“ ist aber natürlich fehlerhaft. Die korrekte Lösung ist in solchen Fällen in der Tat das Einfügen eines geschweiften Klammerpaares um das gesamte optionale Argument.

phi
Moderator
Moderator
Beiträge: 420
Registriert: Fr 6. Feb 2009, 21:28

Re: Probleme mit biblatex in quotation-Umgebung

Beitrag von phi »

Martin Wetzel hat geschrieben:ich habe die quotation-Umgebung so angepasst, dass sie von Anführungsstrichen umgeben ist.
So etwas ist mit csquotes übrigens viel einfacher möglich, siehe beispielsweise diesen Thread.

Martin Wetzel

Beitrag von Martin Wetzel »

Danke vielmals Phi,

jetzt versteh ich das Problem und kann deutlich besser mit ihm Leben.
Und den \blockquote{}-Befehl mit einer weiteren Zeile hab ich mir auch angeschaut. Der hätte zwar nicht mein Problem gelöst, aber die, die ich davor hatte... ;-)

Guten Abend,
martin

Antworten