Ebd bzw Ibid Thema ist als GELÖST markiert

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


Biber

Ebd bzw Ibid

Beitrag von Biber »

Ich habe einen Biblatex Stil, der ziemlich genau so aussieht wie ich es mir vorstelle. Nur funktioniert durch die Anpassungen Ebd. bzw Ibid nicht mehr.
\begin{filecontents}{\jobname.bib}
 
@Book{xxx,
 shorttitle = {Kurztitel},
 author = {Name, Vorname},
 year = {1994},
 title = {Langtitel},
 publisher = {Verlag},
 location = {Verlagsort},
 }
 \end{filecontents}

\documentclass{scrreprt}
\usepackage[german =swiss]{csquotes}
\usepackage{xpatch}
\usepackage[backend=biber, style=authoryear-ibid, sorting=anyt]{biblatex}
\addbibresource{\jobname.bib}
\renewcommand{\mkbibnamefamily}[1]{\textsc{#1}}
\renewcommand{\mkbibnamegiven}[1]{\textsc{#1}}
\xpatchbibmacro{date+extrayear}{%
\printtext[parens]}{%
\printtext[brackets]}{}{}
\setlength{\bibitemsep}{0.5em}     
\renewbibmacro*{cite}{%
\printtext{}
 \iffieldundef{shorthand}
 {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
 {\usebibmacro{cite:label}%
 \setunit{\printdelim{nonameyeardelim}}}
 {\printnames{labelname}%
 \setunit{\addcolon\addspace}
\iffieldundef{shorttitle}{\printfield[title:hook]{title}}{\printfield[title:hook]{shorttitle}}
\setunit{\printdelim{nameyeardelim}}}
\printfield[parens]{labelyear}}
{\usebibmacro{cite:shorthand}}}

\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat{postnote}{#1.} 

\renewcommand*{\newunitpunct}{\addsemicolon\space}  
\renewcommand{\labelnamepunct}{\space} 



\begin{document}

abc\footnote{Vgl. \cite[123]{xxx}} und 123\footnote{Vgl. \cite[123]{xxx}} und 

\printbibliography
\end{document}
Was übersehe ich?

Gast

Beitrag von Gast »

Vor nicht allzu langer Zeit hatten wir http://golatex.de/stil-des-kurzbelegs-a ... 19715.html

Von dort würde ich
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[german=swiss]{csquotes}
\usepackage{xpatch}
\usepackage[backend=biber, style=authoryear-ibid, autocite=footnote]{biblatex}
\begin{filecontents}{\jobname.bib}
@book{xxx,
 shorttitle = {Kurztitel},
 author = {Name, Vorname},
 year = {1994},
 title = {Langtitel},
 publisher = {Verlag},
 location = {Verlagsort},
 }
 \end{filecontents}
\addbibresource{\jobname.bib}

\setlength{\bibitemsep}{0.5em}    

\renewcommand{\mkbibnamefamily}[1]{\textsc{#1}}
\renewcommand{\mkbibnamegiven}[1]{\textsc{#1}}

\xpatchbibmacro{date+extrayear}{%
  \printtext[parens]}{%
  \printtext[brackets]}
  {}{}

\renewcommand*{\newunitpunct}{\addsemicolon\space}
\DeclareDelimFormat{nametitledelim}{\addcolon\space}
\renewcommand{\labelnamepunct}{\addspace}
\DeclareDelimFormat{titleyeardelim}{\addspace}

\newbibmacro*{cite:title}{%
  \printtext[bibhyperref]{%
    \printfield[citetitle]{labeltitle}}}

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

\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat{postnote}{#1}

\begin{document}

abc\footnote{Vgl.\ \cite[123]{xxx}} und 123\footnote{Vgl. \cite[123]{xxx}} und

abc\autocite[Vgl.][123]{xxx} und 123\autocite[Vgl.][123]{xxx}

\printbibliography
\end{document}
vorschlagen. Meine Kommentare dort gelten natürlich auch hier.

Dein Code hatte einfach keinen Code für den Ibid-Fall.

Man beachte, dass es einfacher ist \autocite (oder \footcite]) zu nutzen als \footnote{\cite}. Außerdem schien mir sorting=anyt hier nicht sinnvoll, da Du kein labelalpha hast.

Gast

Beitrag von Gast »

Nur für die Verlinkung: https://tex.stackexchange.com/q/385518/ scheint wohl die Quelle des Codes zu sein.

Biber

Tausend Dank

Beitrag von Biber »

Wow. Danke. Das passt perfekt, dass werde ich jetzt versuchen zu verstehen. Ganz vielen Dank, das hilft mir gerade immens.

Biber

Es passt noch nicht...

Beitrag von Biber »

Eine Rückfrage, weil es mir erst jetzt aufgefallen ist:
In meinem Beispiel sind in der Fußnote die Titel immer kursiv (Im Literaturverzeichnis sind Aufsatztitel in Anführungszeichen; Buchtitel kursiv).

Mit dem geänderten Code funktioniert das ebd. hervorragend, dafür sind nun die Kurztitel von Inbook, Electronik und Artikeln in der Fußnote mit Anführungszeichen und nicht mehr kursiv.

MWE:
\documentclass{scrreprt} 
\usepackage[ngerman]{babel} 
\usepackage[german=swiss]{csquotes} 
\usepackage{xpatch} 
\usepackage[backend=biber, style=authoryear-ibid, autocite=footnote]{biblatex} 
\begin{filecontents}{\jobname.bib} 
@book{xxx, 
 shorttitle = {Kurztitel}, 
 author = {Name, Vorname}, 
 year = {1994}, 
 title = {Langtitel}, 
 publisher = {Verlag}, 
 location = {Verlagsort}, 
 } 
 
 @InBook{yyy,
 shorttitle = {Artikel},
 author = {Mueller, Hans},
 year = {2001},
 title = {In Book Aufsatz},
 pages = {166-190},
 booktitle = {Buchtitel},
 editor	= {Rausgeber, Herr},
 publisher = {Verlag},
 location = {Ort},
 }
 \end{filecontents} 
\addbibresource{\jobname.bib} 

\setlength{\bibitemsep}{0.5em}     

\renewcommand{\mkbibnamefamily}[1]{\textsc{#1}} 
\renewcommand{\mkbibnamegiven}[1]{\textsc{#1}} 

\xpatchbibmacro{date+extrayear}{% 
  \printtext[parens]}{% 
  \printtext[brackets]} 
  {}{} 

\renewcommand*{\newunitpunct}{\addsemicolon\space} 
\DeclareDelimFormat{nametitledelim}{\addcolon\space} 
\renewcommand{\labelnamepunct}{\addspace} 
\DeclareDelimFormat{titleyeardelim}{\addspace} 

\newbibmacro*{cite:title}{% 
  \printtext[bibhyperref]{% 
    \printfield[citetitle]{labeltitle}}} 

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

\DeclareFieldFormat{pages}{#1} 
\DeclareFieldFormat{postnote}{#1} 

\begin{document} 

abc\footnote{Vgl.\ \cite[123]{xxx}} und 123\footnote{Vgl. \cite[123]{xxx}} und 

abc\footnote{Vgl.\ \cite[123]{yyy}} und 123\footnote{Vgl. \cite[123]{yyy}} und 



\printbibliography 
\end{document}
Das Literaturverzeichnis stimmt. Nur der Titel in der Fußnote solle durchgängig kursiv sein. Ich habe ohne Erfolg bereits versucht den Code zu verändern und komme einfach nicht weiter.
Ich bin für jede Hilfe Dankbar.

Gast

Beitrag von Gast »

Das ist zwar inkonsistent, geht aber alles
\DeclareFieldFormat*{citetitle}{\mkbibemph{#1}}
sollte genug sein.

Biber

Dank!

Beitrag von Biber »

Danke, genau das war gesucht.

Perfekt! Einfach vielen Dank.

Antworten