Mein Problem liegt in der Anpassung meines Literaturverzeichnises mit Biblatex. Einige Anpasssungen habe ich bereits selbst hinbekommen, diese sind im nachfolgenden enthalten:

Öffne in Overleaf
 \documentclass{scrartcl}
 \usepackage[ngerman]{babel}
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenc}
 \usepackage[ngerman]{babel}

 \usepackage{csquotes}
 \usepackage{xpatch}
 \usepackage[
 backend=biber, doi=false, url=false,firstinits=true
 ]{biblatex}
 \DeclareNameAlias{default}{last-first} 
 \AtEveryBibitem{\clearfield{edition}} 
 \renewcommand*{\labelnamepunct}{\addspace - \addspace} 
 \renewcommand*{\finalnamedelim}{\addspace\&\addspace}

 \newbibmacro*{publisher+location+date}{%
   \printlist{location}%
   \iflistundef{publisher}
     {\setunit*{\addcomma\space}}
     {\setunit*{\addcolon\space}}%
     \printlist{publisher}%
   \setunit*{\addcomma\space}%
   \usebibmacro{date}%
   \newunit}

 \renewbibmacro*{publisher+location+date}{%
   \printlist{publisher}%
   \setunit*{\addcomma\space}%
   \printlist{location}%
   \setunit*{\addcomma\space}%
   \usebibmacro{date}%
   \newunit}

 \addbibresource{Literatur.bib}

 \usepackage{graphicx}
 \usepackage{amsmath,amsfonts,amssymb}
 \usepackage{booktabs}
 \usepackage{hyperref} %Verweisen auf Labels mitels \autoref{}
 \usepackage{lscape}   %Querformat durch Landscape
 \usepackage{rotating}
 \usepackage[headsepline,automark,autooneside=false]{scrlayer-scrpage}
 \clearpairofpagestyles% Leeren von Kopf- und Fußzeile
 \pagestyle{scrheadings}
 \lefoot*{}
 \cfoot*{\pagemark}
 \rofoot*{}
 \automark[subsection]{section}
 \lehead{}
 \cehead{}
 \rehead{}
 \lohead{}
 \cohead{Kapitel: \leftmark}
 \rohead{} %Abschnitt: \rightmark
 \KOMAoptions{headsepline %,footsepline, plainfootsepline
 }

 \setlength{\parindent}{0pt}

 \begin{document}
 \tableofcontents           \newpage
 \pagestyle{scrheadings}
 \pagenumbering{arabic}

  .... und setzt sich fest.~\cite[S.~916 f.]{Heisel.2014}\newline

 \printbibliography
 \end{document}

In Literatur.bib ist folgendes enthalten:

Öffne in Overleaf
@book{Heisel.2014,  %steht unter anderem in Literatur.bib
 abstract = {Das Handbuch der Fertigungstechnik...},
 author = {Heisel, Uwe and Klocke, Fritz and Uhlmann, Eckart and Spur, G{\"u}nter},
 year = {2014},
 title = {Handbuch Spanen},
 price = {219.99 {\text\euro}},
 keywords = {Abtragen;Spanende Bearbeitung},
 address = {M{\"u}nchen},
 edition = {2., vollst. neu bearb. Aufl.},
 publisher = {Hanser},
 isbn = {978-3-446-42826-3},
 series = {Ed. Handbuch der Fertigungstechnik},
 doi = {10.3139/9783446436992}
}

Im pdf-file steht dann:

Öffne in Overleaf
     .... und setzt sich fest. [1, S. 916 f.]
     Literatur
 [1] Heisel, U. u.a. - Handbuch Spanen. Ed. Handbuch der Fertigungstechnik. Hanser,
 München, 2014. isbn: 978-3-446-42826-3.

Die gewüschte Ausgabe im Literaturverzeichnis sollt jedoch so aussehen:

Öffne in Overleaf
     [1] Heisel, U. u.a. - Handbuch Spanen. Ed. Handbuch der Fertigungstechnik - Hanser, München, 2014. isbn: 978-3-446-42826-3.

Nach der Titelangabe sollte also der Punkt durch einen Strich ersetzt werden.

gefragt 07 Jun, 03:33

steffi22's gravatar image

steffi22
11
Akzeptiert: 0%

bearbeitet 08 Jun, 04:53

saputello's gravatar image

saputello
10.0k53459

Stehen bei dem Datensatz in der bib-Datei wirklich % am Anfang jeder Zeile? Und warum definierst Du das bibmacro publisher+location+date erst und definierst es dann direkt danach um, statt es gleich so zu definieren, wie Du es haben willst? Oder schiele ich? Ich bin verwirrt.

(07 Jun, 03:40) saputello
1

Off-Topic:

(07 Jun, 03:48) saputello
1
  • hyperref wird zu früh geladen.
  • Statt lscape empfehle ich pdflscape.
  • Da die Titelseiten bereits arabisch nummeriert sind (auch wenn die Seitenzahl nicht ausgegeben wird), führt das \pagenumbering{arabic} zu doppelten gleichen Seitenzahlen, was zu falschen Sprungzielen mit hyperref führen kann. Außerdem gehört vor \pagenumbering nicht nur ein \newpage, sondern \cleardoubleoddpage. Am besten lässt man das \pagenumbering{arabic} einfach weg (siehe: Welche Seitenzahl hat das Inhaltsverzeichnis?).
(07 Jun, 03:48) saputello

Kannst Du mir auch beantworten wie ich nach der Titelangabe den Punkt durch den Strich ersetzen kann?

Das Bibmacro publisher+location+date dacht ich funktioniert nur mit newbibmacro und REnewbibmacro (hatte ich in einem Forum als Antwort gefunden), werd ich ausbessern!

(07 Jun, 09:37) steffi22

Für ein echtes vollständiges Minimalbeispiel nach Anleitung sollte man das Ganze natürlich noch etwas weiter reduzieren (was ich im folgenden auch tun werde).

Dann empfiehlt sich die Verwendung von biblatex-ext und dessen Stil ext-numeric an Stelle des Standardstils numeric. Damit steht beispielsweise \locpubdelim als zusätzlicher Trenner zwischen Ort und Verlag zur Verfügung, so dass man für das Ersetzen des Doppelpunkts durch ein Komma an dieser Stelle nichts umdefinieren (oder patchen) muss. Ein schlichtes

Öffne in Overleaf
\renewcommand*{\locpubdelim}{\addcomma\space}

genügt.

Für den Punkt nach der Serie muss man dann allerdings doch wieder etwas ändern und zwar den Treiber für book. Im Originaltreiber heißt es:

Öffne in Overleaf
\usebibmacro{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%

Und genau an der Stelle wird per \newunit der Punkt eingefügt. Ändert man diese Stelle in:

Öffne in Overleaf
\usebibmacro{note}%
\setunit{\addspace--\space}%
\newblock
\usebibmacro{publisher+location+date}%

dann bekommt man hier einen Gedankenstrich.

Das ganze sieht (mit den erwähnten, zusätzlichen Minimierungen) dann so aus:

Öffne in Overleaf
%\RequirePackage{filecontents}
\begin{filecontents*}{Literatur.bib}
@book{Heisel.2014,  %steht unter anderem in Literatur.bib
 abstract = {Das Handbuch der Fertigungstechnik...},
 author = {Heisel, Uwe and Klocke, Fritz and Uhlmann, Eckart and Spur, Günter},
 year = {2014},
 title = {Handbuch Spanen},
 price = {219.99 {\text\euro}},
 keywords = {Abtragen;Spanende Bearbeitung},
 address = {München},
 edition = {2., vollst. neu bearb. Aufl.},
 publisher = {Hanser},
 isbn = {978-3-446-42826-3},
 series = {Ed. Handbuch der Fertigungstechnik},
 doi = {10.3139/9783446436992}
}
\end{filecontents*}
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{csquotes}
\usepackage{xpatch}
\usepackage[
  style=ext-numeric, % deutlich weitreichender konfigurierbare Version des Standardstils numeric
  backend=biber, doi=false, url=false,giveninits=true
]{biblatex}
\DeclareNameAlias{default}{last-first} 
\AtEveryBibitem{\clearfield{edition}}
\renewcommand*{\labelnamepunct}{\addspace--\space}
\renewcommand*{\locpubdelim}{\addcomma\space}
\renewcommand*{\finalnamedelim}{\addspace\&\space}
\xpatchbibdriver{book}{%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
}{%
  \setunit{\addspace--\space}%
  \newblock
  \usebibmacro{publisher+location+date}%
}{}{\PatchFailure}

\addbibresource{Literatur.bib}

\usepackage{hyperref} %Verweisen auf Labels mitels \autoref{}

\begin{document}
  \dots{} und setzt sich fest.~\cite[S.~916 f.]{Heisel.2014}

 \printbibliography
\end{document}

Zitat und Literaturverzeichnis

Wichtige Hinweise:

  • \usepackage[utf8]{inputenc} ist bei Verwendung eines aktuellen LaTeX überflüssig. Ich habe es aber drin gelassen, weil es nicht wirklich stört und noch viele kein aktuelles LaTeX verwenden.
  • biblatex-ext ist noch relativ neu und existiert auf Overleaf noch nicht. Deshalb funktioniert obiges Beispiel derzeit nicht im Online-Editor. Eventuell wäre es aus durchaus sinnvoll, den biblatex-ext-Autor zu bitten, diese Stelle ebenfalls konfigurierbar zu machen. Da diese biblatex-Erweiterung noch eine Versionsnummer < 1 hat, ist es recht wahrscheinlich, dass Änderungswünsche noch berücksichtigt werden. Man muss sie dem Autor natürlich mitteilen!

Soll das ganze auch ohne biblatex-ext funktionieren, müsste man die Änderung für den Doppelpunkt in das Makro hinein patchen:

Öffne in Overleaf
\xpatchbibmacro{publisher+location+date}{% ersetze
  \iflistundef{publisher}
    {\setunit*{\addcomma\space}}
    {\setunit*{\addcolon\space}}%
}{% durch
  \setunit*{\addcolon\space}%
}{}{\PatchFailure}%

oder etwas allgemeiner:

Öffne in Overleaf
%\RequirePackage{filecontents}
\begin{filecontents*}{Literatur.bib}
@book{Heisel.2014,  %steht unter anderem in Literatur.bib
 abstract = {Das Handbuch der Fertigungstechnik...},
 author = {Heisel, Uwe and Klocke, Fritz and Uhlmann, Eckart and Spur, Günter},
 year = {2014},
 title = {Handbuch Spanen},
 price = {219.99 {\text\euro}},
 keywords = {Abtragen;Spanende Bearbeitung},
 address = {München},
 edition = {2., vollst. neu bearb. Aufl.},
 publisher = {Hanser},
 isbn = {978-3-446-42826-3},
 series = {Ed. Handbuch der Fertigungstechnik},
 doi = {10.3139/9783446436992}
}
\end{filecontents*}
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{csquotes}
\usepackage{xpatch}
\IfFileExists{ext-numeric.bbx}{%
  \usepackage[
    style=ext-numeric, % deutlich weitreichender konfigurierbare Version des Standardstils numeric
    backend=biber, doi=false, url=false,giveninits=true
  ]{biblatex}
}{%
  \usepackage[
    backend=biber, doi=false, url=false,giveninits=true
  ]{biblatex}
  \xpatchbibmacro{publisher+location+date}{% ersetze
    \iflistundef{publisher}
      {\setunit*{\addcomma\space}}
      {\setunit*{\addcolon\space}}%
  }{% durch
    \iflistundef{publisher}
      {\setunit*{\addcomma\space}}
      {\setunit*{\locpubdelim}}%
  }{}{\PatchFailure}%
  \newcommand*{\locpubdelim}{\addcolon\space}%  
}  
\DeclareNameAlias{default}{last-first} 
\AtEveryBibitem{\clearfield{edition}}
\renewcommand*{\labelnamepunct}{\addspace--\space}
\renewcommand*{\locpubdelim}{\addcomma\space}
\renewcommand*{\finalnamedelim}{\addspace\&\space}
\xpatchbibdriver{book}{% ersetze:
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
}{% durch:
  \setunit{\addspace--\addspace}%
  \newblock
  \usebibmacro{publisher+location+date}%
}{}{\PatchFailure}

\addbibresource{Literatur.bib}

\usepackage{hyperref} %Verweisen auf Labels mitels \autoref{}

\begin{document}
  \dots{} und setzt sich fest.~\cite[S.~916 f.]{Heisel.2014}

 \printbibliography
\end{document}

Die Lösung sollte dann auch mit der aktuellen Version von Overleaf funktionieren.

Permanenter link

beantwortet 08 Jun, 03:24

Ijon%20Tichy's gravatar image

Ijon Tichy
7.8k11019

bearbeitet 08 Jun, 03:32

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×173
×67
×3
×2

Frage gestellt: 07 Jun, 03:33

Frage wurde angeschaut: 741 Mal

Zuletzt aktualisiert: 08 Jun, 03:32