von finswimmer » Mi 28. Apr 2010, 22:21
So,
im großen und ganzen hab ich jetzt meinen Wunsch aus dem Ausgangsposting fertig umgesetzt.
Das einzige was mir noch nicht so gefällt, dass man für die einzelnen (Sub-)Bibliographien in Biblatex keinen eigenen Style zuweisen kann. Oder hab ich was übersehen? Gibt's dafür einen Grunde? Ist das Feature-Request.
Falls der ein oder andere mal ähnliches brauch würd ich hier mal mein Ergebnis vorstellen. Über Hinweise zu meinem Code würde ich mich auch sehr freuen. Ich bin sicher, dass da noch einige handwerkliche Fehler drin sind.
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Biblatex zur Verwaltung von Abbildungen nutzen
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
% Ziel: - Erfassen von Bildinformationen mittels BibLatex
% - Beschriften von Bilder mit den Informationen aus BibLatex
% - gleichzeitig nutzen der BibLatex-Informationen im normalen Zitierstil
%
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Entrytype und Felder definieren
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
% Zum erfassen von Bildinformationen muss zunächst ein neuer Entrytype, sowie einige neue Felder angelegt werden. Ein fertiger BibText-Quellcode soll so aus sehen:
%
% @ART{artexample,
% abb = {1},
% title = {Example},
% xref = {exampleref}
% page = {23},
% }
%
% Feldbeschreibungen:
% abb: optionale Nr. des Bildes
% title: Titel des Bildes
% xref: Verweis auf Quelle des Bildes
% page: Seite auf der sich das Bild in Quelle befindet
%
% Der neue entrytype, sowie die neuen Felder abb und page werden in die biblatex.bst eingetragen:
%
% Suche nach "ENTRY {" und füge in die Liste "art" hinzu.
%
% Suche nach "FUNCTION {output:fields.1} {" und füge der Liste hinzu (inkl. Anführungszeichen):
% "abb" abb output:write:field
% "page" page output:write:field
%
% Damit kennt BibLatex den neuen Entrytype, sowie die neuen Felder.
%
% Alle weiteren Änderungen erfolgen im Präambel des Hauptdokumentes.
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% BibliographyDriver erstellen
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\newbool{ownnr} %Es soll die Möglichkeit geben zu entscheiden ob man die in abb gesetze Nummerierung verwenden will,
\booltrue{ownnr} %oder die Bilder automatisch nummeriert werden soll. true = eigene, false = automatisch
\DeclareBibliographyDriver{art}{% Der BibliograpgyDriver bestimmt die Ausgabe im Literaturverzeichnis
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\ifbool{ownnr}%
{\printtext{\textbf{\printfield{abb}}}}% Wenn eigene Nummern verwendet werden sollen, diese ausgeben,
{\printtext{\textbf{Abb. \ref{\thefield{entrykey}}}}}% ansonsten hole die Nummer die im Dokument verwendet wurde
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}% Titel
\iffieldundef{xref}%überprüfen ob xref wirklich gesetzt wurde.
{} %wenn nicht, dann tue nicht
{\entrydata{\thefield{xref}}{%wenn doch, hole die Informationen zum Eintrag
\newunit\newblock
\usebibmacro{in:} %in:
\printnames{labelname} %Autornachname
\setunit{\nameyeardelim}
\usebibmacro{cite:labelyear+extrayear} %Erscheinungsjahr
\setunit{\bibpagespunct}}%,
\printfield{page} %Seitennummer
}%
\usebibmacro{finentry} %Punkt
}
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% CiteCommands erstellen/umdefinieren
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Da wir neben dem normalem Ausgabeformat auch ein speziellen brauchen, muss zuächst der cite-Befehl neu geschrieben werden. Der folgende wurde außerdem um eine firstcitefull-Funktion erweitert. Als Vorlage diente der authoryear-ibid Style.
\renewbibmacro*{cite}{%
\ifthenelse{\equal{\thefield{entrytype}}{art}} %Ist der Entrytype "art"?
{\usebibmacro{cite:artnormal}} %Ja -> eigenes Makro verwenden
{\ifciteseen %Nein, normal weiter
{\iffieldundef{shorthand}
{\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{cite:ibid}}
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
{\usebibmacro{cite:label}%
\setunit{\addspace}}
{\printnames{labelname}%
\setunit{\nameyeardelim}}%
\usebibmacro{cite:labelyear+extrayear}}}
{\usebibmacro{cite:shorthand}}}
{\usebibmacro{cite:full}}}}
\newbibmacro*{cite:full}{%
\printtext[bibhypertarget]{%
\usedriver
{\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}}%
\usebibmacro{shorthandintro}}
\DeclareCiteCommand{\artcite} %Das spezielle Ausgabeformat soll über \artcite{key} erreichbar sein.
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite:art}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\refart} %Außerdem soll es möglich sein, sich die Bildnummer ausgeben zu lassen, ähnlich \ref{key}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\usebibmacro{cite:abb}}
{\multicitedelim}
{\usebibmacro{postnote}}
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Makros definieren
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\newcounter{myarts} %Sollten die Bilder durchnummeriert werden, wird dazu ein counter benötigt,
\setcounter{myarts}{0} %und zunächst auf 0 gesetzt
\newbibmacro*{cite:art}{% Makro zum citecommand \artcite
\ifbool{ownnr}% Es wird überprüft ob eigene Bildnummern verwendet werden sollen, oder automatisch
{\usebibmacro{cite:artown}}% eigene
{\usebibmacro{cite:artcount}}% automatisch
}
\newbibmacro*{cite:artown}{% Eigene Nummern verwenden
\printtext{\textbf{\printfield{abb}}} %Bildnummer fett ausgeben
\linebreak %Zeilenumbruch
\usebibmacro{title} %Titel
\ifciteseen %Zusätzlich wird beim ersten Vorkommen
{} %des Bildes
{\label{\thefield{entrykey}}} %ein Label vergeben, welches über den Entrykey referenziert ist
}
\newbibmacro*{cite:artcount}{% Automatische Nummerierung
\ifciteseen{% Wenn Bild schon mal beschriftet
\printtext{\textbf{Abb.~\ref{\thefield{entrykey}}}}% Abb. Nr. fett ausgeben
\linebreak %Zeilenumbruch
\usebibmacro{title} %Titel
}
{ \refstepcounter{myarts} %Wenn Bild neu, zunächst counter erhöhen,
\printtext{\textbf{Abb.~\themyarts}} %Dann Abb. Nr. fett ausgeben
\linebreak %Zeilenumbruch
\usebibmacro{title} %Titel
\label{\thefield{entrykey}} %Label mit key vergeben
}
}
\newbibmacro*{cite:artnormal}{%Wird bei normalen \cite-Aufruf verwenden
\ifbool{ownnr}%Prüfung ob eigene oder automische Nummerierung
{\usebibmacro{cite:artnormalown}}%eigene
{\usebibmacro{cite:artnormalcount}}%automatisch
}
\newbibmacro*{cite:artnormalown}{%eigene Nummerierung
\printtext{\textbf{\printfield{abb}}} %Bildnummer ausgeben
\setunit{\labelnamepunct}\newblock %Trenner
\usebibmacro{title}% %Titel
}
\newbibmacro*{cite:artnormalcount}{%automatische Nummerierung
\ifciteseen{%wurd bereits zitiert
\printtext{\textbf{Abb.~\ref{\thefield{entrykey}}}}%Abb. Nr. fett
\setunit{\labelnamepunct}\newblock %Trennzeichen
\usebibmacro{title}% Titel
}
{ \refstepcounter{myarts}%wurde noch nicht zitiert --> counter raufsetzen
\printtext{\textbf{Abb.~\themyarts}}%Abb. Nr fett
\setunit{\labelnamepunct}\newblock%Trennzeichen
\usebibmacro{title}%%Titel
}
}
\newbibmacro*{cite:abb}{%\ref-Funktion für Bildnummer
\ifbool{ownnr}%bei eigner Nummerierung
{\printfield{abb}}%Nummer ausgeben
{\printtext{\textbf{Abb. \ref{\thefield{entrykey}}}}}}%ansonsten über label ermittel
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Optische Anpassung
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\DeclareFieldFormat{abb}{\textbf{Abb.~#1}}
\DeclareFieldFormat{page}{S.~#1}
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Abbildungsteil füllen
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\newcommand{\art}[2]{%Die Ausgabe des Bildes inkkl. Beschriftung
\begin{minipage}[t]{.3\textwidth} %Minipage mit 1/3 Seitenbreite
\centering %Bild zentrieren
\includegraphics[width=.8\textwidth]{#2} %Bild einfügen und auf 80% der Minipagebreite skalieren
\begin{flushleft} %Bildbeschriftung soll linksbündig
\leftskip.1\textwidth %und bündig mit dem Bild sein
\artcite{#1} %Bild Beschriften
\end{flushleft}
\end{minipage}
}
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Hinweise
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
% Der Aufruf eines beschrifteten Bildes erfolgt wie folgt:
\art{bibtexkey}{bildurl}
% Im weiterem Verlauf auf die Bildnummer referenziert werden. Wobei die Ausgabe als Abb. Nr. erfolgt.
\refart{bibtexkey}
% Für ein automatische Nummerierung muss citetracker=true gesetzt sein. In float-Umgebungen wird dieser automatisch deaktiviert. Reaktivierung durch \citetrackertrue zu Beginn nötig.
%
% Damit xref auch bei nur einem Verweis funktioniert muss mincrossrefs=1 gesetzt sein.
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Ausblick
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Der Code sollte ohne größe Probleme um weitere felder wie z.B. Material, Künstlerinformationen, etc. erweiterbar sein.
%
% Insgesamt könnte der Code in einen eigenen Style umgewandelt werden. Hier bleibt die Frage zu klären, ob Änderungen an der biblatex.bst direkt erfolgen müssen oder ob es eine nicht so invasive Methode gibt.
fin swimmer
So,
im großen und ganzen hab ich jetzt meinen Wunsch aus dem Ausgangsposting fertig umgesetzt.
Das einzige was mir noch nicht so gefällt, dass man für die einzelnen (Sub-)Bibliographien in Biblatex keinen eigenen Style zuweisen kann. Oder hab ich was übersehen? Gibt's dafür einen Grunde? Ist das Feature-Request.
Falls der ein oder andere mal ähnliches brauch würd ich hier mal mein Ergebnis vorstellen. Über Hinweise zu meinem Code würde ich mich auch sehr freuen. Ich bin sicher, dass da noch einige handwerkliche Fehler drin sind.
[code]
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Biblatex zur Verwaltung von Abbildungen nutzen
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
% Ziel: - Erfassen von Bildinformationen mittels BibLatex
% - Beschriften von Bilder mit den Informationen aus BibLatex
% - gleichzeitig nutzen der BibLatex-Informationen im normalen Zitierstil
%
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Entrytype und Felder definieren
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
% Zum erfassen von Bildinformationen muss zunächst ein neuer Entrytype, sowie einige neue Felder angelegt werden. Ein fertiger BibText-Quellcode soll so aus sehen:
%
% @ART{artexample,
% abb = {1},
% title = {Example},
% xref = {exampleref}
% page = {23},
% }
%
% Feldbeschreibungen:
% abb: optionale Nr. des Bildes
% title: Titel des Bildes
% xref: Verweis auf Quelle des Bildes
% page: Seite auf der sich das Bild in Quelle befindet
%
% Der neue entrytype, sowie die neuen Felder abb und page werden in die biblatex.bst eingetragen:
%
% Suche nach "ENTRY {" und füge in die Liste "art" hinzu.
%
% Suche nach "FUNCTION {output:fields.1} {" und füge der Liste hinzu (inkl. Anführungszeichen):
% "abb" abb output:write:field
% "page" page output:write:field
%
% Damit kennt BibLatex den neuen Entrytype, sowie die neuen Felder.
%
% Alle weiteren Änderungen erfolgen im Präambel des Hauptdokumentes.
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% BibliographyDriver erstellen
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\newbool{ownnr} %Es soll die Möglichkeit geben zu entscheiden ob man die in abb gesetze Nummerierung verwenden will,
\booltrue{ownnr} %oder die Bilder automatisch nummeriert werden soll. true = eigene, false = automatisch
\DeclareBibliographyDriver{art}{% Der BibliograpgyDriver bestimmt die Ausgabe im Literaturverzeichnis
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\ifbool{ownnr}%
{\printtext{\textbf{\printfield{abb}}}}% Wenn eigene Nummern verwendet werden sollen, diese ausgeben,
{\printtext{\textbf{Abb. \ref{\thefield{entrykey}}}}}% ansonsten hole die Nummer die im Dokument verwendet wurde
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}% Titel
\iffieldundef{xref}%überprüfen ob xref wirklich gesetzt wurde.
{} %wenn nicht, dann tue nicht
{\entrydata{\thefield{xref}}{%wenn doch, hole die Informationen zum Eintrag
\newunit\newblock
\usebibmacro{in:} %in:
\printnames{labelname} %Autornachname
\setunit{\nameyeardelim}
\usebibmacro{cite:labelyear+extrayear} %Erscheinungsjahr
\setunit{\bibpagespunct}}%,
\printfield{page} %Seitennummer
}%
\usebibmacro{finentry} %Punkt
}
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% CiteCommands erstellen/umdefinieren
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Da wir neben dem normalem Ausgabeformat auch ein speziellen brauchen, muss zuächst der cite-Befehl neu geschrieben werden. Der folgende wurde außerdem um eine firstcitefull-Funktion erweitert. Als Vorlage diente der authoryear-ibid Style.
\renewbibmacro*{cite}{%
\ifthenelse{\equal{\thefield{entrytype}}{art}} %Ist der Entrytype "art"?
{\usebibmacro{cite:artnormal}} %Ja -> eigenes Makro verwenden
{\ifciteseen %Nein, normal weiter
{\iffieldundef{shorthand}
{\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{cite:ibid}}
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
{\usebibmacro{cite:label}%
\setunit{\addspace}}
{\printnames{labelname}%
\setunit{\nameyeardelim}}%
\usebibmacro{cite:labelyear+extrayear}}}
{\usebibmacro{cite:shorthand}}}
{\usebibmacro{cite:full}}}}
\newbibmacro*{cite:full}{%
\printtext[bibhypertarget]{%
\usedriver
{\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}}%
\usebibmacro{shorthandintro}}
\DeclareCiteCommand{\artcite} %Das spezielle Ausgabeformat soll über \artcite{key} erreichbar sein.
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite:art}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\refart} %Außerdem soll es möglich sein, sich die Bildnummer ausgeben zu lassen, ähnlich \ref{key}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\usebibmacro{cite:abb}}
{\multicitedelim}
{\usebibmacro{postnote}}
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Makros definieren
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\newcounter{myarts} %Sollten die Bilder durchnummeriert werden, wird dazu ein counter benötigt,
\setcounter{myarts}{0} %und zunächst auf 0 gesetzt
\newbibmacro*{cite:art}{% Makro zum citecommand \artcite
\ifbool{ownnr}% Es wird überprüft ob eigene Bildnummern verwendet werden sollen, oder automatisch
{\usebibmacro{cite:artown}}% eigene
{\usebibmacro{cite:artcount}}% automatisch
}
\newbibmacro*{cite:artown}{% Eigene Nummern verwenden
\printtext{\textbf{\printfield{abb}}} %Bildnummer fett ausgeben
\linebreak %Zeilenumbruch
\usebibmacro{title} %Titel
\ifciteseen %Zusätzlich wird beim ersten Vorkommen
{} %des Bildes
{\label{\thefield{entrykey}}} %ein Label vergeben, welches über den Entrykey referenziert ist
}
\newbibmacro*{cite:artcount}{% Automatische Nummerierung
\ifciteseen{% Wenn Bild schon mal beschriftet
\printtext{\textbf{Abb.~\ref{\thefield{entrykey}}}}% Abb. Nr. fett ausgeben
\linebreak %Zeilenumbruch
\usebibmacro{title} %Titel
}
{ \refstepcounter{myarts} %Wenn Bild neu, zunächst counter erhöhen,
\printtext{\textbf{Abb.~\themyarts}} %Dann Abb. Nr. fett ausgeben
\linebreak %Zeilenumbruch
\usebibmacro{title} %Titel
\label{\thefield{entrykey}} %Label mit key vergeben
}
}
\newbibmacro*{cite:artnormal}{%Wird bei normalen \cite-Aufruf verwenden
\ifbool{ownnr}%Prüfung ob eigene oder automische Nummerierung
{\usebibmacro{cite:artnormalown}}%eigene
{\usebibmacro{cite:artnormalcount}}%automatisch
}
\newbibmacro*{cite:artnormalown}{%eigene Nummerierung
\printtext{\textbf{\printfield{abb}}} %Bildnummer ausgeben
\setunit{\labelnamepunct}\newblock %Trenner
\usebibmacro{title}% %Titel
}
\newbibmacro*{cite:artnormalcount}{%automatische Nummerierung
\ifciteseen{%wurd bereits zitiert
\printtext{\textbf{Abb.~\ref{\thefield{entrykey}}}}%Abb. Nr. fett
\setunit{\labelnamepunct}\newblock %Trennzeichen
\usebibmacro{title}% Titel
}
{ \refstepcounter{myarts}%wurde noch nicht zitiert --> counter raufsetzen
\printtext{\textbf{Abb.~\themyarts}}%Abb. Nr fett
\setunit{\labelnamepunct}\newblock%Trennzeichen
\usebibmacro{title}%%Titel
}
}
\newbibmacro*{cite:abb}{%\ref-Funktion für Bildnummer
\ifbool{ownnr}%bei eigner Nummerierung
{\printfield{abb}}%Nummer ausgeben
{\printtext{\textbf{Abb. \ref{\thefield{entrykey}}}}}}%ansonsten über label ermittel
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Optische Anpassung
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\DeclareFieldFormat{abb}{\textbf{Abb.~#1}}
\DeclareFieldFormat{page}{S.~#1}
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Abbildungsteil füllen
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\newcommand{\art}[2]{%Die Ausgabe des Bildes inkkl. Beschriftung
\begin{minipage}[t]{.3\textwidth} %Minipage mit 1/3 Seitenbreite
\centering %Bild zentrieren
\includegraphics[width=.8\textwidth]{#2} %Bild einfügen und auf 80% der Minipagebreite skalieren
\begin{flushleft} %Bildbeschriftung soll linksbündig
\leftskip.1\textwidth %und bündig mit dem Bild sein
\artcite{#1} %Bild Beschriften
\end{flushleft}
\end{minipage}
}
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Hinweise
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
% Der Aufruf eines beschrifteten Bildes erfolgt wie folgt:
\art{bibtexkey}{bildurl}
% Im weiterem Verlauf auf die Bildnummer referenziert werden. Wobei die Ausgabe als Abb. Nr. erfolgt.
\refart{bibtexkey}
% Für ein automatische Nummerierung muss citetracker=true gesetzt sein. In float-Umgebungen wird dieser automatisch deaktiviert. Reaktivierung durch \citetrackertrue zu Beginn nötig.
%
% Damit xref auch bei nur einem Verweis funktioniert muss mincrossrefs=1 gesetzt sein.
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Ausblick
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% Der Code sollte ohne größe Probleme um weitere felder wie z.B. Material, Künstlerinformationen, etc. erweiterbar sein.
%
% Insgesamt könnte der Code in einen eigenen Style umgewandelt werden. Hier bleibt die Frage zu klären, ob Änderungen an der biblatex.bst direkt erfolgen müssen oder ob es eine nicht so invasive Methode gibt.
[/code]
fin swimmer