Für ein echtes [vollständiges Minimalbeispiel nach Anleitung](https://texwelt.de/wissen/fragen/569/was-ist-ein-vollstandiges-minimalbeispiel-oder-kurz-vm-und-wie-erstelle-ich-dieses) 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`](https://ctan.org/pkg/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
\renewcommand*{\locpubdelim}{\addcomma\addspace}
\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:
\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:
\usebibmacro{note}%
\setunit{\addspace--\addspace}%
\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:
%\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--\addspace}
\renewcommand*{\locpubdelim}{\addcomma\addspace}
\renewcommand*{\finalnamedelim}{\addspace\&\addspace}
\renewcommand*{\labelnamepunct}{\addspace--\space}
\renewcommand*{\locpubdelim}{\addcomma\space}
\renewcommand*{\finalnamedelim}{\addspace\&\space}
\xpatchbibdriver{book}{%
\newunit\newblock
\usebibmacro{publisher+location+date}%
}{%
\setunit{\addspace--\addspace}%
\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][1]][1]
**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`](https://ctan.org/pkg/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:
\xpatchbibmacro{publisher+location+date}{% ersetze
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
}{% durch
\setunit*{\addcolon\space}%
}{}{\PatchFailure}%
oder etwas allgemeiner:
%\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--\addspace}
\renewcommand*{\locpubdelim}{\addcomma\addspace}
\renewcommand*{\finalnamedelim}{\addspace\&\addspace}
\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.
[1]: https://texwelt.de/wissen/upfiles/test_20180608_090210.png