ebd. in multicite

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: ebd. in multicite

von Phantomias2019 » Fr 28. Jun 2019, 13:24

Das war es, vielen vielen Dank!

von Gast » Fr 28. Jun 2019, 08:46

Die "strict"-Formen der Tracker unterdrücken ibid/loccit etc. in Fällen, in denen es uneindeutig sein könnte. Dazu zählt biblatex auch Multizitate. Wenn Du also von constrict zu context wechselst, geht es hoffentlich wie gewünscht.

Ich habe zur Übersichtlichkeit die Kommentare aus dem Code entfernt, außerdem habe ich die Einrückung etwas geändert, damit ich schneller sehen konnte, was Sache ist. Schließlich habe ich den Code etwas modernisiert und an einigen Stellen ein paar elegantere Methoden genutzt (\DeclareDelimAlias statt \renewcommand und \AtBeginBibliography). Daher benötigt der unten gezeigte Code eine recht aktuelle Version von biblatex (ich habs nicht nachgesehen, aber die Version von Overleaf könnte knapp zu alt sein).

Lade ruhig csuqotes und nutze die Anführungszeichen von dort.
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[
  style         = authoryear-ibid,
  loccittracker = context,
  ibidtracker   = context,
  maxcitenames  = 3,
]{biblatex}

\DeclareNameAlias{sortname}{family-given}
\DeclareDelimFormat{multinamedelim}{\addslash}
\DeclareDelimFormat[bib]{multinamedelim}{\addsemicolon\space}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}

\DefineBibliographyStrings{german}{%
  ibidem    = {ebd\adddot},
  andothers = {et\,al\adddot},
}

\renewbibmacro*{cite:ibid}{%
  \ifloccit
    {\printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}%
     \global\booltrue{cbx:loccit}}%
    {\printtext[bibhyperref]{\bibstring{opcit}}}}

\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat{postnote}{\mknormrange{#1}}
\DeclareFieldFormat{volcitepages}{\mknormrange{#1}}
\DeclareFieldFormat{multipostnote}{\mknormrange{#1}}

\DeclareFieldFormat{superedition}{\textsuperscript{#1}}
\renewbibmacro*{date+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext{%
       \iffieldnum{edition}
         {\adddot\space
          \printfield[superedition]{edition}%
          \global\clearfield{edition}}
         {\adddot\space}%
       \iflabeldateisdate
         {\printdateextra}
         {\printlabeldateextra}}}}


\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{booktitle}{#1}

\addbibresource{biblatex-examples.bib}

\begin{document}
Zitat eins \autocite[80\psq]{sigfridsson}
Identische Quelle, erwartet \enquote{(ebd.)}: \autocite[80\psq]{sigfridsson}
Andere Seiten, erwartet \enquote{(a.a.O., 80 ff.)}: \autocite[80\psqq]{sigfridsson}

Zitat zwei \autocite[80\psq]{worman}
Multizitat eins, erwartet: \enquote{(ebd.; Muster 2010, 79)}: \autocites[80\psq]{worman}[79]{sigfridsson}

\printbibliography
\end{document}

ebd. in multicite

von Phantomias2019 » Fr 28. Jun 2019, 00:01

Hallo alle zusammen,

Ich muss für meine Abschlussarbeit leider versch. Vorgaben umsetzen und stehe
nun vor einem Problem für das ich bisher keine Lösung finden konnte. In
einzelnen Zitaten funktioniert der Zitierstil 'authoryear-ibid' super, mit
eigenen Anpassungen, sodass korrekt 'ebd.' und 'a.a.O.' gesetzt wird. Nun
benötige ich das Gleiche auch für Multi-Zitate bei Verwendung der `\*cites`
Befehle, wie ihr im angehängten MWE sehen könnt funktioniert dies aber leider
nicht. Mehrere Quellen innerhalb eines `\autocite` gehen leider nicht auf Grund
der versch. Seitenangaben.

Über Hilfen aber auch generelle Verbesserungsvorschläge würde ich mich sehr
freuen. Danke im Voraus!
\begin{filecontents*}{20190627ibidmulticite.bib}
@Book{Bsp1,
  author = {Muster, Max},
  title = {goLaTeX Wiki-Beispiel},
  journal = {LaTeX Journal},
  year = {2010},
  pages = {1--3},
  timestamp = {2010.03.21},
  url = {http://www.golatex.de/wiki/index.php?title=Minimalbeispiel}
} 
@INBOOK{Bsp2,
   author = {Gustav Gans},
   title = {Mein Beispielbuch},
   subtitle = {Komplett hier},
   pages = {13--40},
   year = {2019},
   booktitle = {Mein ganzes Buch},
   bookauthor = {Duck, Donald and Klever, Klaas},
   edition = {3},
   location = {Entenhausen},
   publisher = {Phantomias-Verlag}
}
\end{filecontents*}
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[
   bibstyle=authoryear,
   citestyle=authoryear-ibid,
   loccittracker=constrict,
   maxcitenames=3
]{biblatex}
% Angabe der Datei welche unsere Quellen enthält
\bibliography{20190627ibidmulticite.bib}
% Trenne alle Autoren mit '/' voneinander in Zitaten
\renewcommand{\multinamedelim}{\addslash}
% Kein 'und' sondern ebenfalls '/' vor dem letzten Autor
\renewcommand{\finalnamedelim}{\addslash}
% Statt u.a. (und anderen) hätten wir gerne die lateinische Variante
\DefineBibliographyStrings{ngerman}{%
   andothers = {{et\,al\adddot}}, 
}
% Statt ebd. wird meistens 'ibid' (latein) verwendet, wird hier neu definiert
\DefineBibliographyStrings{ngerman}{ibidem = {ebd\adddot}}
% Sorgt dafür, dass bei vorheriger gleicher Quelle (Autor + Seite) 'ebd.' gesetzt wird
\renewbibmacro*{cite:ibid}{%
   \ifloccit{%
   \printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}%
   \global\booltrue{cbx:loccit}}%
   {\printtext[bibhyperref]{\bibstring{opcit}}}}
% Entfernt "S." vor Seitenverweisen bei Zitaten
\DeclareFieldFormat{pages}{#1}
\DefineBibliographyStrings{ngerman}{%
      page = {{}{}},
      pages = {{}{}},
}
% Hochgestellte Edition eines Werkes mit vorausgehendem Punkt
\DeclareFieldFormat{superedition}{\textsuperscript{#1}}
\renewbibmacro*{date+extradate}{%
  \iffieldundef{labelyear}{}
  {\printtext{%
    \iffieldnum{edition} {\adddot\space
      \printfield[superedition]{edition}%
      \global\clearfield{edition}} {\adddot\space}%
      \iflabeldateisdate{\printdateextra}
      {\printlabeldateextra}
    }
  }
}
% Setzen von Optionen innerhalb des Literaturverzeichnisses
\AtBeginBibliography{%
  % Autoren mit '; ' voneinander trennen
  \renewcommand*{\multinamedelim}{;\space}%
  \renewcommand*{\finalnamedelim}{;\space}%
  % Bei allen Autoren Format 'Nachname, Vorname'
}
% Normale/nicht-kursive Titel
\DeclareFieldFormat[inbook]{title}{#1}
\DeclareFieldFormat[inbook]{booktitle}{#1}
\DeclareFieldFormat[incollection]{title}{#1}
\DeclareFieldFormat[incollection]{booktitle}{#1} 
\DeclareFieldFormat[book]{title}{#1}
% Immer Nachname,Vorname
\DeclareNameAlias{author}{family-given}
\begin{document}
Zitat eins\autocite[80\psq]{Bsp1} Identische Quelle, erwartet ``(ebd.)''
\autocite[80\psq]{Bsp1} Andere Seiten, erwartet ``(a.a.O., 80
ff.)''\autocite[80\psqq]{Bsp1}

Zitat zwei\autocite[80\psq]{Bsp2}

Multizitat eins, erwartet: ``(ebd.; Muster 2010, 79)'' \autocites[80\psq]{Bsp2}[79]{Bsp1}
\end{document}

Nach oben