PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shorthand + Ebd.



Klaphimin
31-07-2012, 00:31
Hallo an alle,

ich habe mal wieder ein shorthand-Problem. Ich benutze den Stil "authoryear-luh-ipw" und habe einige bibtex-Einträge, die ein "shorthand" besitzen. Folgen zwei Zitate aufeinander, die über "shorthand" zitiert werden, wird leider kein "Ebd." mehr gesetzt.

Hier mal ein Beispiel:


\begin{filecontents}{test.bib}
@article{key1,
author = {Mario Vargas Llosa},
title = {a title},
journal = {Zeitschrift für Literatur},
shorthand = {Nobelpreistraeger 2010},
year = {2010},
page = {99}
}

@book{key2,
author = {Gerda Maier},
year = {1998},
title = {Ein wurstiger Titel},
address = {Wurststadt},
}
\end{filecontents}


\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[style=authoryear-luh-ipw]{biblatex}
\bibliography{test}


\begin{document}
Ein Zitat aus Quelle A mit Shorthand \footcite{key1}\\
Ein zweites Zitat aus Quelle A \footcite{key1}\\
Ein Zitat aus Quelle B ohne Shorthand\footcite{key2}\\
Ein zweites Zitat aus Quelle B \footcite{key2}\\

\printbibliography
\end{document}


Die Quelle A (key1) wird richtigerweise über "shorthand" referenziert. Folgt jedoch noch ein zweites Zitat aus Quelle A, wird einfach wieder der "shorthand"-Eintrag und kein ebd. gesetzt. Bei Quelle B (key 2) wird es richtig gemacht, da kein "shorthand" definiert ist.

Ich weiß, dass ich nicht die erste mit dem Problem bin. Im biblatex-dw-Stil gibt es ja die schöne Option "shorthandibid", die für meinen Stil aber nicht anzuwenden geht. Und hier (http://de.comp.text.tex.narkive.com/Y4IpoUmR/biblatex-kein-ebd-bei-shorthands) wird das Thema auch diskutiert und auf das Buch Voß: Bibliografien mit LaTeX. lehmanns/DANTE 2011, S. 130 verwiesen. Den Beispielquelltext habe ich dort gefunden, ich weiß bloß ehrlich gesagt nicht, wie ich ihn anpassen soll :(

Vielleicht gibt es ja auch andere Ideen...

Bitte um Hilfe :confused:

Klaphimin
01-08-2012, 08:26
Hat keiner eine Idee oder ist irgendwas an meinen Angaben unverständlich?
:confused:

Jedenfalls bräuchte ich dringend einen Tipp, alleine komme ich leider nicht mehr weiter :(

Danke

nixversteh
01-08-2012, 11:11
Hat keiner eine Idee oder ist irgendwas an meinen Angaben unverständlich?
:confused:

Jedenfalls bräuchte ich dringend einen Tipp, alleine komme ich leider nicht mehr weiter :(

Danke

Hallo Klaphimin,

habe einfach mal den shorthand-eintrag gelöscht ...

\begin{filecontents}{test.bib}
@article{key1,
author = {Mario Vargas Llosa},
title = {a title},
journal = {Zeitschrift für Literatur},
year = {2010},
page = {99}
}

@book{key2,
author = {Gerda Maier},
year = {1998},
title = {Ein wurstiger Titel},
address = {Wurststadt},
}
\end{filecontents}

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[style=authoryear-luh-ipw,backend=biber]{biblatex}
\bibliography{test}

\begin{document}
Ein Zitat aus Quelle A mit Shorthand \footcite{key1}\\
Ein zweites Zitat aus Quelle A \footcite{key1}\\
Ein Zitat aus Quelle B ohne Shorthand\footcite{key2}\\
Ein zweites Zitat aus Quelle B \footcite{key2}\\

\printbibliography
\end{document}

Viel Erfolg

Gruß

Martin

Klaphimin
01-08-2012, 21:09
Sorry, aber den letzten Post verstehe ich gerade gar nicht.
Ich brauche doch den shorthand-Eintrag, darum geht es doch gerade. Oder verstehe ich gerade gar nichts?

nixversteh
01-08-2012, 23:58
Sorry, aber den letzten Post verstehe ich gerade gar nicht.
Ich brauche doch den shorthand-Eintrag, darum geht es doch gerade. Oder verstehe ich gerade gar nichts?

Hallo Klaphimin,

schaumal hier: http://www.mrunix.de/forums/showthread.php?t=69834

Viel Erfolg

Gruß

Martin

Klaphimin
10-08-2012, 10:57
So, habe jetzt endlich nach über einer Woche eine Lösung gefunden. Den vorherigen Link von "Nixversteh" kannte ich und hatte auch nicht wirklich mit meinem Problem zu tun.

Hier poste ich jetzt mal meine Lösung. Ob die schön ist, k.A., aber sie funktioniert zumindest bei mir ;)




\newbibmacro*{cite}
{%
\iffieldundef{shorthand}%
{%
\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}%
{%
\usebibmacro{cite:ibid}%
}%
{%
\ifthenelse{\ifnameundef{labelname}\OR\iffieldunde f{labelyear}}%
{%
\usebibmacro{cite:label}%
\setunit{\addspace}%
\usebibmacro{cite:labelyear+extrayear}%
\usebibmacro{cite:reinit}%
}%
{%
\iffieldequals{namehash}{\cbx@lasthash}%
{%
\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyea r}\AND
\(\value{multicitecount}=0\OR\iffieldundef{postnot e}\)}%
{%
\setunit{\addcomma}%
\usebibmacro{cite:extrayear}%
}%
{%
\setunit{\compcitedelim}%
\usebibmacro{cite:labelyear+extrayear}%
\savefield{labelyear}{\cbx@lastyear}%
}%
}%
{%
\printnames{labelname}%
\setunit{\nameyeardelim}%
\usebibmacro{cite:labelyear+extrayear}%
\savefield{namehash}{\cbx@lasthash}%
\savefield{labelyear}{\cbx@lastyear}%
}%
}%
}%
}%
{%----- AB HIER DIE ÄNDERUNG ------
\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}%
{%
\usebibmacro{cite:ibid}%
}%
{%
\ifthenelse{\ifnameundef{labelname}\OR\iffieldunde f{labelyear}}%
{%
\usebibmacro{cite:label}%
\setunit{\addspace}%
\usebibmacro{cite:labelyear+extrayear}%
\usebibmacro{cite:reinit}%
}%
{%
\iffieldequals{namehash}{\cbx@lasthash}%
{%
\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyea r}\AND \(\value{multicitecount}=0\OR\iffieldundef{postnot e}\)}%
{%
\setunit{\addcomma}%
\usebibmacro{cite:extrayear}%
}%
{%
\setunit{\compcitedelim}%
\usebibmacro{cite:labelyear+extrayear}%
\savefield{labelyear}{\cbx@lastyear}%
}%
}%
{%
%\printnames{labelname}%
\usebibmacro{cite:shorthand}%
\usebibmacro{cite:reinit}%
\setunit{\nameyeardelim}%
\usebibmacro{cite:labelyear+extrayear}%
\savefield{namehash}{\cbx@lasthash}%
\savefield{labelyear}{\cbx@lastyear}%
}%
}%
}%
%\usebibmacro{cite:shorthand}%
%\usebibmacro{cite:reinit}
}%
\setunit{\multicitedelim}%
}%





Ich habe die authoryear-icomp.cbx-Datei angepasst, auf die der Stil authoryear-luh-ipw zurückgreift und darin noch eine weitere ifthenelse-Abfrage in das \newbibmacro-cite-Kommando gesetzt. Wenn also "shorthand" bekannt ist, wird jetzt ebd. gesetzt.
Vielleicht hilft ja die Lösung dem einen oder anderen.