Seite 1 von 1

Anpassung footcite

Verfasst: Sa 7. Nov 2015, 15:07
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!

Verfasst: Sa 7. Nov 2015, 16:02
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}

Verfasst: Sa 7. Nov 2015, 21:16
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.

Verfasst: Sa 7. Nov 2015, 22:37
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?

Verfasst: So 8. Nov 2015, 09:28
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}

Verfasst: So 8. Nov 2015, 12:41
von Madridista8
Wiederum vielen Dank, funktioniert 1A!