goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Reihenfolge von Auflage und Band ändern

 

Splendor
Forum-Anfänger
Forum-Anfänger

Beiträge: 23
Anmeldedatum: 09.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2018, 09:38     Titel: Reihenfolge von Auflage und Band ändern
  Antworten mit Zitat      
Hallo allerseits,

ich habe folgendes Problem: in meinem Literaturverzeichnis soll bei den Einträgen "@Book" und "@Inreference" die Reihenfolge von "Auflage" und "Band" geändert werden.

Aktuell sehen die Einträge für "@Book" so aus:

Mustermann, Max (2012): Lorem Ipsum. 4. Aufl. Bd. 2. Berlin: Testverlag.

Die verlangte Form:

Mustermann, Max (2012): Lorem Ipsum. Bd. 2. 4. Aufl. Berlin: Testverlag.

Die Einträge für "@Inreference" sind momentan:

Musterfrau, Marianne (2010): [Art.] Lorem Ipsum. In: Dampf, Hans (Hrsg.): Lexikon der Testerei. 2. Aufl., Bd. 4. München: Lexikonverlag. S. 60–62.

Die verlangte Form hier:

Musterfrau, Marianne (2010): [Art.] Lorem Ipsum. In: Dampf, Hans (Hrsg.): Lexikon der Testerei. Bd. 4. 2. Aufl. München: Lexikonverlag. S. 60–62.

Bei "@Inreference" muss also auch das Komma zwischen beiden Feldern entfernt werden.

Kann mir da jemand unter die Arme greifen? Ich habe mir über die Zeit aus dem Internet diverse Sachen für meine Bibliographie zusammenkopiert und bin damit immer sehr gut ausgekommen. Leider stoße ich jetzt ein wenig an meine Grenzen.

Hier noch ein funktionierendes Minimalbeispiel inklusive meiner (kompletten) Bibliographie:

Code • Öffne in Overleaf
\begin{filecontents}{Literatur.bib}
@Book{Mustermann2012,
  author      = {Max Mustermann
},
  title         = {Lorem Ipsum},
  location      = {Berlin},
  year         = {2012},
  volume      = {2},
  edition      = {4},
  publisher      = {Testverlag},
}
@Inreference{Musterfrau2010,
  author   = {Marianne Musterfrau
},
  title      = {Lorem Ipsum},
  pages      = {60--62},
  booktitle   = {Lexikon der Testerei},
  editor   = {Hans Dampf},
  location   = {München},
  year      = {2010},
  volume   = {4},
  edition   = {2},
  publisher   = {Lexikonverlag},
}
\end{filecontents}

\documentclass{scrartcl}

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

%%%%%%%%%%%%%%%%%%%%%%%%
% Bibliographie-Anfang %
%%%%%%%%%%%%%%%%%%%%%%%%
 
% Wichtig für biber
\usepackage[babel,german=quotes]{csquotes}

% Bibliografie
\usepackage[backend=biber,
style=authoryear-ibid,
ibidpage=true, % Im Stil "authoryear-ibid" Auskommentierung entfernen
dashed=false,
maxbibnames=3,
maxcitenames=3
]{biblatex}
\bibliography{Literatur}

\DefineBibliographyStrings{ngerman}{andothers={et\addabbrvspace al\adddot}} % et al. statt u.a.

\renewcommand{\labelnamepunct}{\addcolon\addspace} % Doppelpunkt

\DeclareFieldFormat{title}{{#1}}
\DeclareFieldFormat[article]{title}{{#1}}
\DeclareFieldFormat[article]{journal}{{#1}}
\DeclareFieldFormat[article]{journaltitle}{{#1}}
\DeclareFieldFormat[book]{title}{{#1}}
\DeclareFieldFormat[incollection]{title}{{#1}}
\DeclareFieldFormat[incollection]{booktitle}{{#1}}
\DeclareFieldFormat[inbook]{title}{{#1}}
\DeclareFieldFormat[inbook]{booktitle}{{#1}}
\DeclareFieldFormat[misc]{title}{{#1}}

\renewbibmacro*{byeditor+others}{% %Hg. bzw Hgg. in Klammern hinter Herausgeber, statt davor
 \ifnameundef{editor}
 {}
 {\printnames[byeditor]{editor
}%
 \setunit{\addspace}%
 \usebibmacro{editor+othersstrg}%
 \clearname{editor}%
 \newunit}%
 \usebibmacro{byeditorx}%
 \usebibmacro{bytranslator+others}}

\DefineBibliographyStrings{german}{%
 andothers = {et\ al\adddot}, % et al. statt u.a.
 editor = {\mkbibparens{Hrsg\adddot}}, % Hier kann Hrsg. im Singular geändert werden
 editors = {\mkbibparens{Hrsg\adddot}}, % Hier kann Hrsg. im Plural geändert werden
 byeditor = {\mkbibparens {Hrsg\adddot}},
 jourvol = {{Jahrgang}}, % "Jahrgang" statt "Jg."
 number = {{Heft}}, % "Heft" statt "Nr."
}

% [Art.] und Leerzeichen vor Titel des Lexikonartikels in @Inreference
\DeclareFieldFormat[inreference]{title}{[Art.]\space#1}

% Name des Lexikons in @Inreference nicht kursiv
\DeclareFieldFormat[inreference]{booktitle}{#1}

% Punkt nach "journaltitle" in "@Article" und Anpassung von "volume" und "number"
\DeclareFieldFormat[article]{volume}{\bibstring{jourvol}~#1} % Reihenfolge "volume" und zugehörige Zahl: "Jahrgang X"
%\DeclareFieldFormat[article]{volume}{~#1\adddot\space\bibstring{jourvol}} % Reihenfolge "volume" und zugehörige Zahl: "X. Jahrgang"
\DeclareFieldFormat[article]{number}{\bibstring{number}~#1} % Reihenfolge "number" und zugehörige Zahl
\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  %\setunit*{\adddot}% % Wenn oben "X. Jahrgang" gewählt wurde
  \setunit*{\adddot\space}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series
}%
     \setunit{\adddot\space}}%
  \printfield{volume}%
  \setunit*{\adddot\space}%
  \printfield{number}%
  \setunit{\adddot\space}%
  \printfield{eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

% Kein Komma zwischen Namen und (Hrsg.) bei Büchern, die keinen Autor haben, sondern nur einen Herausgeber; funktioniert in @Book und @Collection
\makeatletter
\renewbibmacro*{bbx:editor}[1]{%
  \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}
    {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
                 \NOT\iffirstonpage\AND
         \(\NOT\boolean{bbx@inset}\OR
           \iffieldequalstr{entrysetcount}{1}\)}
       {\bibnamedash}
       {\printnames{editor} %
    \setunit{\addspace} %statt "`\addcomma\space"' nur "`\addspace"'
    \usebibmacro{bbx:savehash}}%
     \usebibmacro{#1}%
     \clearname{editor}%
     \setunit{\addspace}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle
}%
     \setunit*{\addspace}}%
  \usebibmacro{date+extradate}}
\makeatother

\usepackage{xpatch}

\xpatchbibdriver{inbook}{%
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
}%
  {%
  \usebibmacro{byeditor+others}%
  \setunit{\addcolon\space}\newblock
  \usebibmacro{maintitle+booktitle}%
  }%
  {}{}%

\xpatchbibdriver{inbook}{%
 \newunit\newblock
 \usebibmacro{chapter+pages}%
}%
{%
\adddot\space
 \usebibmacro{chapter+pages}%
}%
{}{}

\xpatchbibdriver{inbook
}{%
  \newunit
  \iffieldundef{maintitle}
}%
{%
  \setunit{\addcomma\space}
  \iffieldundef{maintitle}
}%
{}{}

\xpatchbibdriver{incollection
}{%
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
}%
  {%
  \usebibmacro{byeditor+others}%
  \setunit{\addcolon\space}\newblock
  \usebibmacro{maintitle+booktitle}%
  }%
  {}{}%

\xpatchbibdriver{incollection}{%
 \newunit\newblock
 \usebibmacro{chapter+pages}%
}%
{%
\adddot\space
 \usebibmacro{chapter+pages}%
}%
{}{}

\xpatchbibdriver{incollection
}{%
  \newunit
  \iffieldundef{maintitle}
}%
{%
  \setunit{\addcomma\space}
  \iffieldundef{maintitle}
}%
{}{}

% Kein Komma vor Seitenzahl im Literaturverzeichnis
\renewcommand*{\bibpagespunct}{\addperiod\space}

\AtBeginBibliography{%
  \renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}%
  \renewcommand*{\mkbibnameprefix}[1]{\textsc{#1}}%
} % Nur Kapitälchen der Autoren-Nachnamen im Literaturverzeichnis; im Text normal

% \renewcommand*{\mkbibnamefamily}{\textsc} % Alle Autoren-Nachnamen in Kapitälchen

% Nachname, Vorname
\DeclareNameAlias{default}{last-first}

% Nur im Literaturverzeichnis:
% Schrägstrich statt "und" bei mehreren Autoren/Herausgebern
\AtBeginBibliography{%
  \renewcommand*{\multinamedelim}{\addslash}
  \renewcommand*{\finalnamedelim}{\multinamedelim}
}

% Nachname, Vorname auch bei mehreren Autoren
\DeclareNameAlias{sortname}{last-first}
 
%%%%%%%%%%%%%%%%%%%%%%
% Bibliographie-Ende %
%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua (vgl.~\cite[12]{Mustermann2012}). At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet (vgl.~\cite[60]{Musterfrau2010}).

\printbibliography

\end{document}


Ich würde mich über jeden Tipp sehr freuen!

Vielen Dank und liebe Grüße
Splendor Very Happy
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2018, 11:23     Titel:
  Antworten mit Zitat      
Bei mehrbändigen Werken bietet sich häufig maintitle an. Wenn ich es richtig sehe, ist dann keine Änderung am Stil mehr erforderlich.

Ich habe mir mal erlaubt, Deinen Code auf den neusten Stand zu bringen, ihn dabei etwas zu vereinfachen und durch die Nutzung von biblatex-ext noch etwas einfacher zu gestalten.

Code • Öffne in Overleaf
%\RequirePackage{filecontents}
\begin{filecontents}{Splendor.bib}
@Book{Mustermann2012,
  author    = {Max Mustermann
},
  maintitle = {Lorem Ipsum},
  location  = {Berlin},
  year      = {2012},
  volume    = {2},
  edition   = {4},
  publisher = {Testverlag},
}
@Inreference{Musterfrau2010,
  author    = {Marianne Musterfrau
},
  title     = {Lorem Ipsum},
  pages     = {60--62},
  maintitle = {Lexikon der Testerei},
  editor    = {Hans Dampf},
  location  = {München},
  year      = {2010},
  volume    = {4},
  edition   = {2},
  publisher = {Lexikonverlag},
}
\end{filecontents}

\documentclass{scrartcl}

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

\usepackage[babel,german=quotes]{csquotes}

\usepackage[backend=biber,
style=ext-authoryear-ibid,
innamebeforetitle=true,% biblatex-ext-Option
ibidpage=true,
dashed=false,
maxbibnames=3,
maxcitenames=3
]{biblatex}
\addbibresource{Splendor.bib}
\addbibresource{biblatex-examples.bib}

\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\addspace}

% Wenn alle Titel ohne Anführungszeichen und Kursivschrift auskommen sollen, geht es so schneller
\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat[inreference]{title}{[Art.]\space#1}
\DeclareFieldFormat{journaltitle}{#1}
\DeclareFieldFormat{booktitle}{#1}
\DeclareFieldFormat{maintitle}{#1}

\DefineBibliographyStrings{german}{%
  andothers = {et\addabbrvspace al\adddot},
  jourvol   = {Jahrgang},
  number    = {Heft},
}

\DeclareFieldFormat[article,periodical]{volume}{\bibstring{jourvol}~#1}
\DeclareFieldFormat[article,periodical]{number}{\bibstring{number}~#1}

% dieser Block ist bihblatex-ext-spezifisch
\renewcommand*{\jourvoldelim}{\addperiod\space}
\renewcommand*{\volnumdelim}{\addperiod\space}

% "Hrsg." in Klammern und ohne Komma davor
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldFormat{translatortype}{\mkbibparens{#1}}
\DeclareDelimFormat{translatortypedelim}{\addspace}

\renewcommand*{\bibpagespunct}{\addperiod\space}

\DeclareNameAlias{default}{family-given}
\DeclareNameAlias{sortname}{default}

\AtBeginBibliography{%
  \renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}%
  \renewcommand*{\mkbibnameprefix}[1]{\textsc{#1}}%
}

\DeclareDelimFormat{multinamedelim}{\addslash}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}

\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua \parencite[vgl.][12]{Mustermann2012}. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet \parencite[vgl.][60]{Musterfrau2010}

\cite{sigfridsson,kant:kpv}

\printbibliography
\end{document}

Splendor
Forum-Anfänger
Forum-Anfänger

Beiträge: 23
Anmeldedatum: 09.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2018, 12:12     Titel:
  Antworten mit Zitat      
Liebe Gast,

wer immer Du auch bist: herzlichen Dank für die Lösung des Problems und die "Modernisierung" des Codes!

Funktioniert jetzt ganz ausgezeichnet. Ich bin schwer begeistert.

Beste Grüße und Dir ein schönes Wochenende
Splendor
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2018 goLaTeX.de