Ebenda bei Authortitle in Fußnoten hinzufügen Thema ist als GELÖST markiert

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


Merit

Ebenda bei Authortitle in Fußnoten hinzufügen

Beitrag von Merit »

Hallo liebe Menschen da draußen,

da ich aktuell leider noch nicht die Lösung meines Problems finden konnte, erhoffe ich mir nun hier Hilfe. Gepostet habe ich bisher noch nie etwas, deswegen verzeiht mir, wenn ich etwas falsch mache.

Und zwar benötige ich für meine Abschlussarbeit einen Zitierstil, der in den Fußnoten den Autor, den Titel, das Jahr und die Seite angibt und im Literaturverzeichnis alphabetisch alles sortiert. Soweit habe ich das mit authortitle gemacht und ein bisschen modifiziert, damit es hinhaut. Jedoch würde ich nun zusätzlich noch bei einer Mehrfachnennung in den Fußnoten gerne ein Ebd. anzeigen lassen, da dies einfach besser aussieht.

Hierzu nun die Frage, wie genau ich das im Kopfteil des Dokuments deklarieren kann? Gibt es da eine Möglichkeit oder müsste ich das mit einem entsprechenden Literaturstil machen, bei dem das möglich ist und den entsprechend anpassen, dass er zu meinen Vorgaben passt? Und sind auch automatische Verweise auf andere Fußnoten möglich, oder muss ich da immer den Weg über \footref{} und das entsprechende \label{} in der Fußnote gehen? Damit innerhalb einer Seite nicht nur die Fußnote direkt dadrunter mit Ebd. markiert werden kann, sondern wenn auch eine Fußnote dazwischen ist, darauf verwiesen werden kann.

Ein Auszug aus meinem Dokument damit ihr wisst worum es geht, ich hoffe das wesentliche ist enthalten:
% 
\documentclass[12pt,a4paper,bibliography=totocnumbered,listof=totocnumbered]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{microtype}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{longtable}
\usepackage{geometry}
\usepackage{setspace}
\usepackage[stable]{footmisc}
\usepackage[right]{eurosym}
\usepackage[printonlyused]{acronym}
\usepackage{subfig}
\usepackage{floatflt}
\usepackage[usenames,dvipsnames]{color}
\usepackage{colortbl}
\usepackage{paralist}
\usepackage{titlesec}
\usepackage{parskip}
\usepackage[subfigure,titles]{tocloft}
\usepackage[pdfpagelabels=true]{hyperref}
%--------------- LITERATURVERZEICHNIS ------------------------------------%
\usepackage[style=authortitle, maxbibnames=10]{biblatex}
%% cite-Befehl um Jahr ergänzt
\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifnameundef{labelname}
       {}
       {\printnames{labelname}%
        \setunit{\nametitledelim}}%
     \usebibmacro{cite:title}%
     \addcomma\space
       \iffieldundef{year}%
         {}%
          {\setunit{\nameyeardelim}
          \printfield{year}}}%      
    {\usebibmacro{cite:shorthand}}}

%% Semikolon hinzufügen zwischen mehreren Autoren
\AtBeginBibliography{%
  \renewcommand*{\multinamedelim}{\addsemicolon\space}
}
%% Andothers in et.al. umwandeln
\DefineBibliographyStrings{ngerman}{
  andothers = {{et\,al\adddot}},           
 }
%% Nachnamen in entsprechender Reihenfolge in Bib
\DeclareNameAlias{sortname}{last-first}
       
\renewcommand*{\labelnamepunct}{\addcolon\addspace}
\bibliography{bibo.bib}
%-------------------------------------------------------------------------%
\usepackage{listings}
\lstset{basicstyle=\footnotesize, captionpos=b, breaklines=true, showstringspaces=false, tabsize=2, frame=lines, numbers=left, numberstyle=\tiny, xleftmargin=2em, framexleftmargin=2em}
\makeatletter
\def\l@lstlisting#1#2{\@dottedtocline{1}{0em}{1em}{\hspace{1,5em} Lst. #1}{#2}}
\makeatother
\geometry{a4paper, top=27mm, left=30mm, right=20mm, bottom=35mm, headsep=10mm, footskip=12mm}

\begin{document}

Ist hier viel Text von Nöten?\footnote{\cite[23]{Mar15}}
Ich denke nicht, deswegen lasse ich es so.\footnote{\cite[23]{Mar15}}
Und wie sieht es mit der Seitenzahl aus?\footnote{\cite[85]{Mar15}}

\end{document}
%
In der Datei bibo.bib ist entsprechend dann definitiert: (ich hoffe das ist aus Datenschutzgründen oder sowas kein Problem, die Originaldaten auszugeben..)
%
@book{Mar15,
	author={Popp, Maria and Waltenberger, Linus},
	title={Fensterwerkstoffe im Vergleich: Lebenszykluskosten und Ökobilanz im Wohnbau},
	subtitle={Eine Potenzialanalyse aus wirtschaftlicher und ökologischer Sicht},
	year={2015},
	publisher={Aluminium-Fenster-Institut},
	address={Wien},
}
%

Gast

Beitrag von Gast »

Für "ebd." solltest Du den Stil authortitle-ibid als Basis nutzen.

Statt \footnote{\cite}} solltest Du \footcite oder besser \autocite mit autocite=footnote nutzen.
\documentclass[12pt,a4paper,bibliography=totocnumbered,listof=totocnumbered]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{microtype}
\usepackage{csquotes}
\usepackage[style=authortitle-ibid, labeldateparts, maxbibnames=999, autocite=footnote]{biblatex}

\usepackage[pdfpagelabels=true]{hyperref}

\newbibmacro*{cite:labelyear+extrayear}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[bibhyperref]{\printlabeldateextra}}}

\DeclareDelimFormat{titleyeardelim}{\addcomma\space}

\renewbibmacro*{cite}{%
  \global\boolfalse{cbx:loccit}%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
       {\usebibmacro{cite:ibid}}
       {\ifnameundef{labelname}
          {}
          {\printnames{labelname}%
           \setunit{\printdelim{nametitledelim}}}%
        \usebibmacro{cite:title}%
        \setunit{\printdelim{titleyeardelim}}%
        \usebibmacro{cite:labelyear+extrayear}}}%
    {\usebibmacro{cite:shorthand}}}

%% Semikolon hinzufügen zwischen mehreren Autoren
\AtBeginBibliography{%
  \renewcommand*{\multinamedelim}{\addsemicolon\space}%
}
%% Andothers in et.al. umwandeln
\DefineBibliographyStrings{german}{
  andothers = {{et\,al\adddot}},
 }
%% Nachnamen in entsprechender Reihenfolge in Bib
\DeclareNameAlias{sortname}{family-given}
\renewcommand*{\labelnamepunct}{\addcolon\addspace}

\bibliography{biblatex-examples.bib}

\begin{document}
Ist hier viel Text von Nöten?\autocite[23]{sigfridsson}
Ich denke nicht, deswegen lasse ich es so.\autocite[23]{sigfridsson}
Und wie sieht es mit der Seitenzahl aus?\autocite[85]{sigfridsson}

\printbibliography
\end{document}

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 809
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Beitrag von Beinschuss »

Hallo Gast,

die Option labeldateparts erzeugt im Online-Editor einen Fehler (und ich finde es auch nicht in der [d]biblatex[/d]-Doku).

Mit der Zeile läuft das Beispiel durch:
\usepackage[style=authortitle-ibid, maxbibnames=999, autocite=footnote]{biblatex}

Gast

Beitrag von Gast »

labeldateparts ist der neue Name (seit Version 3.5) von labeldate, siehe auch https://github.com/plk/biblatex/blob/0b ... and-output. Da TeXdoc.net noch Version 3.4 der Doku anzeigt, müsstest Du in http://mirrors.ctan.org/macros/latex/co ... blatex.pdf nachlesen.

Wie in der CHANGES.org zu sehen, hat sich in Version 3.5 die Datumsformatierung stark geändert.

Man beachte, dass mit \usepackage[style=authortitle-ibid, maxbibnames=999, autocite=footnote]{biblatex} das Beispiel zwar keine Fehler mehr produziert, die Ausgabe ist allerdings auch nicht wie gewünscht. Denn labelyear wird nicht bereitgestellt, daher gehen wir in cite:labelyear+extrayear in den ersten Fall und rufen nicht den in Version 3.4 undefiniert Befehl \printlabeldateextra auf, der das Datum anzeigen würde.

Für ältere Versionen bräuchte man
\usepackage[style=authortitle-ibid, labeldate, maxbibnames=999, autocite=footnote]{biblatex}

\newbibmacro*{cite:labelyear+extrayear}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[bibhyperref]{\printdatelabel}}}

Merit

Vielen Lieben Dank!

Beitrag von Merit »

Super, vielen lieben Dank, es funktioniert ohne Probleme :) ich habe zwar mein Dokument noch nicht auf autocite umgestellt, aber selbst mit meiner umständlicheren Variante haut es bisher hin. Umstellen werde ich dies trotzdem noch sobald ich Kapazitäten dazu habe, keine Sorge :wink:.

Nur meine zweite Frage hatte sich noch nicht gelöst, sind auch automatische Verweise auf eine andere Fußnote möglich? Wenn jetzt beispielsweise die zweite Fußnote nicht vom gleichen Werk ist, dass dann die dritte Fußnote auf die erste verweist mit "vgl. (Fußnote) 1" oder etwas in der Art?

Gast

Beitrag von Gast »

Ist das denn sinnvoll? Die erste Fußnote enthält ja genau soviel Informationen wie die dritte. Als Leser wäre ich nur enttäuscht, wenn ich zurückblättere und sehe, dass es gar keinen Unterschied macht.

Aber es geht (mit etwas mehr Code) schon. Inspiriert (geklaut) ist das von verbose-note.
\documentclass[12pt,a4paper,bibliography=totocnumbered,listof=totocnumbered]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{microtype}
\usepackage{csquotes}
\usepackage[style=authortitle-ibid, labeldateparts, maxbibnames=999, autocite=footnote, citetracker=context]{biblatex}

\usepackage[pdfpagelabels=true]{hyperref}

\newbibmacro*{cite:labelyear+extrayear}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[bibhyperref]{\printlabeldateextra}}}

\DeclareDelimFormat{titleyeardelim}{\addcomma\space}

\makeatletter
\newbibmacro*{footcite:save}{%
  \csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}%
  \label{cbx@\the\value{instcount}}}

\providetoggle{cbx:pageref}
%\toggletrue{cbx:pageref}
\providetoggle{cbx:ibidnote}
%\toggletrue{cbx:ibidnote}
\renewbibmacro*{cite}{%
  \global\boolfalse{cbx:loccit}%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
       {\usebibmacro{cite:ibid}}
       {\ifnameundef{labelname}
          {}
          {\printnames{labelname}%
           \setunit{\printdelim{nametitledelim}}}%
        \usebibmacro{cite:title}%
        \setunit{\printdelim{titleyeardelim}}%
        \usebibmacro{cite:labelyear+extrayear}}}%
    {\usebibmacro{cite:shorthand}}%
  \iffootnote
    {\ifciteseen
       {\ifboolexpr{(not test {\ifciteibid} and not test {\iffirstonpage}) or togl {cbx:ibidnote}}
          {\setunit*{\addcomma\space}%
           \printtext{%
             \bibstring{seenote}\addnbspace
             \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
             \iftoggle{cbx:pageref}
               {\ifsamepage{\the\value{instcount}}
                           {\csuse{cbx@f@\thefield{entrykey}}}
                  {}
                  {\addcomma\space\bibstring{page}\addnbspace
                   \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}
               {}}}
          {}}
       {\usebibmacro{footcite:save}}}
    {}}
\makeatother

%% Semikolon hinzufügen zwischen mehreren Autoren
\AtBeginBibliography{%
  \renewcommand*{\multinamedelim}{\addsemicolon\space}%
}
%% Andothers in et.al. umwandeln
\DefineBibliographyStrings{german}{
  andothers = {{et\,al\adddot}},
 }
%% Nachnamen in entsprechender Reihenfolge in Bib
\DeclareNameAlias{sortname}{family-given}
\renewcommand*{\labelnamepunct}{\addcolon\addspace}

\bibliography{biblatex-examples.bib}

\begin{document}
Ist hier viel Text von Nöten?\autocite[23]{sigfridsson}
Ich denke nicht, deswegen lasse ich es so.\autocite[23]{sigfridsson}
Und wie sieht es mit der Seitenzahl aus?\autocite[85]{nussbaum}
Und wie sieht es mit der Seitenzahl aus?\autocite[85]{sigfridsson}

\cleardoublepage
Ist hier viel Text von Nöten?\autocite[23]{sigfridsson}
Ich denke nicht, deswegen lasse ich es so.\autocite[23]{sigfridsson}
Und wie sieht es mit der Seitenzahl aus?\autocite[85]{nussbaum}
Und wie sieht es mit der Seitenzahl aus?\autocite[85]{sigfridsson}

\printbibliography
\end{document}
Ich habe im Code zwei toggles eingebaut. Standardmäßig sind sie auf false, aber Du kannst sie mit den zwei auskommentierten Zeilen auf true setzen. Spiel mal damit rum, und versuche herauszufinden, was sie machen. Das Beispieldokument bietet genug Beispiele, sodass beide toggles zum Tragen kommen.

Gast

Beitrag von Gast »

Leider habe ich in meinem letzten Beitrag die Logik etwas vermurkst. Ein not gehörte nicht in die Klammern, sondern davor.

Also müsste es
\documentclass[12pt,a4paper,bibliography=totocnumbered,listof=totocnumbered]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{microtype}
\usepackage{csquotes}
\usepackage[style=authortitle-ibid, labeldateparts, maxbibnames=999, autocite=footnote, citetracker=context]{biblatex}
\usepackage[pdfpagelabels=true]{hyperref}

\newbibmacro*{cite:labelyear+extrayear}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[bibhyperref]{\printlabeldate}}}

\DeclareDelimFormat{titleyeardelim}{\addcomma\space}

\newbibmacro*{footcite:save}{%
  \csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}%
  \label{cbx@\the\value{instcount}}}

\providetoggle{cbx:pageref}
%\toggletrue{cbx:pageref}
\providetoggle{cbx:ibidnote}
%\toggletrue{cbx:ibidnote}
\renewbibmacro*{cite}{%
  \global\boolfalse{cbx:loccit}%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
       {\usebibmacro{cite:ibid}}
       {\printnames{labelname}%
        \setunit*{\printdelim{nametitledelim}}%
        \usebibmacro{cite:title}%
        \setunit{\printdelim{titleyeardelim}}%
        \usebibmacro{cite:labelyear+extrayear}}}%
    {\usebibmacro{cite:shorthand}}%
  \iffootnote
    {\ifciteseen
       {\ifboolexpr{not (test {\ifciteibid} and not test {\iffirstonpage}) or togl {cbx:ibidnote}}
          {\setunit*{\addcomma\space}%
           \printtext{%
             \bibstring{seenote}\addnbspace
             \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
             \iftoggle{cbx:pageref}
               {\ifsamepage{\the\value{instcount}}
                           {\csuse{cbx@f@\thefield{entrykey}}}
                  {}
                  {\addcomma\space\bibstring{page}\addnbspace
                   \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}
               {}}}
          {}}
       {\usebibmacro{footcite:save}}}
    {}}


%% Semikolon hinzufügen zwischen mehreren Autoren
\AtBeginBibliography{%
  \renewcommand*{\multinamedelim}{\addsemicolon\space}%
}
%% Andothers in et.al. umwandeln
\DefineBibliographyStrings{german}{
  andothers = {{et\,al\adddot}},
}
%% Nachnamen in entsprechender Reihenfolge in Bib
\DeclareNameAlias{sortname}{family-given}
\renewcommand*{\labelnamepunct}{\addcolon\addspace}

\bibliography{biblatex-examples.bib}

\begin{document}
Ist hier viel Text von Nöten?\autocite[23]{nussbaum}
Ich denke nicht, deswegen lasse ich es so.\autocite[23]{nussbaum}
Und wie sieht es mit der Seitenzahl aus?\autocite[85]{sigfridsson}
Und wie sieht es mit der Seitenzahl aus?\autocite[85]{nussbaum}

\cleardoublepage
Und wie sieht es mit der Seitenzahl aus?\autocite[85]{nussbaum}
Ist hier viel Text von Nöten?\autocite[23]{sigfridsson}
Ich denke nicht, deswegen lasse ich es so.\autocite[23]{sigfridsson}
Und wie sieht es mit der Seitenzahl aus?\autocite[85]{nussbaum}
Und wie sieht es mit der Seitenzahl aus?\autocite[85]{sigfridsson}

\printbibliography
\end{document}
lauten. Es stellte sich ferner heraus, dass wir \makeatletter...\makeatother trotz @s nicht brauchen.

Ich bin hier außerdem von \printlabeldateextra zu \printlabeldate umgestiegen. Da Du ein Autor-Titel-Literaturverzeichnis hast, taucht das extrayear (das ist der Buchstabe, der dem Jahr hinzugefügt wird, wenn es zwei Werke desselben Autors aus einem Jahr gibt: Elk 1972a, Elk 1972b) nirgends auf, würde also eher für Verwirrung sorgen als nützen. Wenn Du stattdessen lieber authoryear als Basis für Deinen Stil nutzt, da Du das Jahr in der Bibliographie prominenter sehen möchtest (und dann vielleicht auch extrayear anzeigen willst), sollte man das ganze eh anpassen.

Zum Abschluss habe ich eine \ifnameundef{labelname}-Konstruktion durch ein gesterntes \setunit ersetzt.

Meine Kommentare zur Sinnhaftigkeit des Unterfangens von eben gelten natürlich immer noch.

Antworten