Anpassung footcite

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


Madridista8
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Sa 7. Nov 2015, 15:00

Anpassung footcite

Beitrag von Madridista8 »

Schönen guten Tag,

ich muss einen Belegschreiben und nutze für das Literaturverzeichnis biblatex. Nun habe ich eine Anpassung am footcite-Befehl vorgenommen, bzw. mir einen neuen erstellt. Das Problem war, dass ich wollte, dass LaTeX mir in der Fußzeile die Nummer der Quelle, wie im Literaturverzeichnis in eckigen Klammern ausgibt. Das funktioniert soweit auch ganz gut. Jedoch habe ich das Problem, dass wenn ich als Präfix "vgl." einfüge, dass er mir ein Leerzeichen in die eckige Klammer macht. Kann mir jemand sagen, wie ich das verhindern kann?
\documentclass[12pt,a4paper]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage[backend=bibtex]{biblatex}
\bibliography{test}

\DeclareCiteCommand{\xfootcite}[\mkbibfootnote]%
  {\usebibmacro{prenote}}                                 
  {	[\usebibmacro{cite}]
}
  {\addsemicolon\space}
  {\usebibmacro{postnote}}
  
\renewcommand*{\mkbibnamefirst}[1]{\textsc{#1}}
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}

\usepackage{blindtext}

\begin{document}
\blindtext\xfootcite[vgl.][3]{RIE2010}

\blindtext\xfootcite[][3]{RIE2010}
\end{document}
Bsp.-Literatur gespeichert als "test.bib"
@book{RIE2010,
address = {M{\"{u}}nchen},
author = {Thomas, Riechmann},
edition = {3},
publisher = {Vahlen Verlag},
title = {{Spieltheorie}},
year = {2010}
}
Vielleicht ist auch eine einfachere Anpassung des Befehls möglich?

Vielen Dank und schönes Wochenende!

Gast

Beitrag von Gast »

Ist es nicht ziemlich sinnlos, in der Fußnote nur eine Nummer zu haben? Es würde gar nicht so viel mehr Platz wegnehmen, das Zitat direkt im Text zu platzieren.

Das Problem ist, dass Zeichensetzung in biblatex nicht direkt sondern mit bestimmten Makros erfolgen muss, Du brauchst also
\DeclareCiteCommand{\xfootcite}[\mkbibfootnote]%
  {\usebibmacro{prenote}}                                
  {\printtext[brackets]{\usebibmacro{cite}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
MWE
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage[backend=bibtex]{biblatex}
\addbibresource{biblatex-examples.bib}

\DeclareCiteCommand{\xfootcite}[\mkbibfootnote]%
  {\usebibmacro{prenote}}                                
  {\printtext[brackets]{\usebibmacro{cite}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
 
\renewcommand*{\mkbibnamefirst}[1]{\textsc{#1}}
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}

\begin{document}
Lorem\xfootcite[vgl.][3]{sigfridsson} ipsum\xfootcite[3]{sigfridsson}.
\end{document}

Madridista8
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Sa 7. Nov 2015, 15:00

Beitrag von Madridista8 »

Vielen Dank, genauso wollte ich es.
Zu deiner Anmerkung:
Leider steht es mir nicht zu die Anforderungen, welche gestellt werden zu hinterfragen. Mit Mühe uind Not konnte ich sie von der LaTeX Schrift überzeugen.
Natürlich gebe ich dir Recht, dass es kaum mehr Platz wegnehmen würde.

Madridista8
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Sa 7. Nov 2015, 15:00

Beitrag von Madridista8 »

Jetzt doch nochmal eine kurze Rückfrage. Wenn ich mehrmals die gleiche Quelle habe, kommt jeweils die volle Angabe in der Fußzeile. Kann ich noch etwas ergänzen, sodass mir bei einer Wiederholung Ebd. ausgegeben wird?

Gast

Beitrag von Gast »

Bei numerischen Zitatstilen ist es sehr unüblich, den Ibidem-Mechanismus zu verwenden. Deshalb ist das standardmäßig nirgendwo implementiert, es geht aber mit ein bisschen Code aus den ...-ibid-Stilen ganz gut.

Die folgende Lösung sollte eigentlich funktionieren
\providecommand*{\mkibid}[1]{#1}

\DeclareCiteCommand{\xfootcite}[\mkbibfootnote]%
  {\usebibmacro{prenote}}                                
  {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
     {\printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}}
     {\printtext[brackets]{\usebibmacro{cite}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
Wichtig ist, dass Du biblatex mit den Optionen pagetracker, ibidtracker=constrict lädst.

MWE
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage[backend=bibtex, pagetracker, ibidtracker=constrict]{biblatex}
\addbibresource{biblatex-examples.bib}

\providecommand*{\mkibid}[1]{#1}
\DeclareCiteCommand{\xfootcite}[\mkbibfootnote]%
  {\usebibmacro{prenote}}                                
  {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
     {\printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}}
     {\printtext[brackets]{\usebibmacro{cite}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
 
\renewcommand*{\mkbibnamefirst}[1]{\textsc{#1}}
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}

\begin{document}
Lorem\xfootcite[vgl.][3]{sigfridsson} ipsum\xfootcite[3]{sigfridsson}.
\end{document}

Madridista8
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Sa 7. Nov 2015, 15:00

Beitrag von Madridista8 »

Wiederum vielen Dank, funktioniert 1A!

Antworten