Mit
\autocite sind natürlich auch Zitate mehrerer Werke möglich. Wenn bei allen eine Seitenzahl dazu muss, dann nimmst Du statt
\autocite einfach
\autocites. Allerdings sehe ich ein, dass es ab einem gewissen Punkt nicht mehr gut aussieht, längeren Text in die prenote zu schreiben. Ganze Absätze sind da eh nicht erlaubt und nur mit einem Trick machbar.
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[
backend=biber,
style=authortitle-dw,
ibidtracker=constrict,
idemtracker=constrict,
idemfont=smallcaps,
firstfull=true,
annotation=false,
]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
Das ist die erste Nennung der Literatur.\autocite[Vgl.][]{sigfridsson,worman}
Beim zweiten Mal habe ich dann ein Problem.\autocite[Auch ein längerer Text kann vor dem eigentlichen Zitat eingefügt werden. Allerdings sieht das im Code irgendwann nicht mehr so toll aus. Die \enquote{prenote} ist in der Tat eher für kurze Vorsätze gedacht.\endgraf
Ein Absatz geht nur mit Tricks. Vgl.][]{sigfridsson}
Mit Seitenzahl passt es allerdings.\autocite[Vgl.][25]{sigfridsson}
Mit Seitenzahl passt es allerdings.\autocites(Vgl.)()[25]{sigfridsson}[30]{worman}[17]{geer}
\end{document}
Ich würde dann zwar dazu raten, die Punkte am Ende doch selbst zu setzen, aber wenn es ein Automatismus sein muss, dann würde ich Deinen wie folgt auf den
biblatex-Ansatz umstellen. Die Idee ist im Grunde ähnlich zu Deinem jetzigen Code: Es wird der "space factor", der vordergründig dazu da ist, nach ganzen Sätzen (bzw. Satzendpunkten) einen größeren Leerraum zu setzen als zwischen Wörtern (
https://en.wikipedia.org/wiki/Sentence_spacing), dazu genutzt, Zeichensetzung generell zu detektieren und so zu erkennen, ob da am Ende ein Punkt steht oder nicht. (Mehr zur dieser Funktion findest Du z.B. in Kapitel 20 von
TeX by Topic.) Dein Code erkannte Zeichensetzung aber mit anderen Space-factor-Werten als
biblatex, sodass von
biblatex gesetzte Punkte nicht richtig gesehen wurden. Statt
\footnote ändern wir direkt
\@footnotetext. Das hat den Vorteil, dass auch
\footnotext wie gewünscht funktioniert. Ferner müssen wir
biblatex erklären, dass wir seine Änderungen schon selbst vorgenommen haben.
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[
backend=biber,
style=authortitle-dw,
ibidtracker=constrict,
idemtracker=constrict,
idemfont=smallcaps,
firstfull=true,
annotation=false,
]{biblatex}
\makeatletter
\long\def\@footnotetext#1{\insert\footins{%
\reset@font\footnotesize
\interlinepenalty\interfootnotelinepenalty
\splittopskip\footnotesep
\splitmaxdepth \dp\strutbox \floatingpenalty \@MM
\hsize\columnwidth \@parboxrestore
\def\@currentcounter{footnote}%
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark
}%
\color@begingroup
\@makefntext{%
\rule\z@\footnotesep\ignorespaces
\blx@setsfcodes\bibsentence#1\blx@imc@addperiod
\@finalstrut\strutbox}%
\par
\color@endgroup}}
\renewrobustcmd{\blxmkbibnote}[2]{%
\begingroup
\blx@blxinit
\blx@postpunct@agroup
\toggletrue{blx@footnote}%
\csuse{bib#1notewrapper}{#2}%
\endgroup}
\renewcommand{\bibfootnotewrapper}[1]{#1}
\renewcommand{\bibendnotewrapper}[1]{#1}
\makeatother
\begin{filecontents}{\jobname.bib}
@Book{LiteraturA,
author = {Vorname Nachname},
title = {Titel},
year = {2023},
address = {Stadt},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
Das ist die erste Nennung der Literatur.\footnote{Vgl. \cite{LiteraturA}}
Beim zweiten Mal habe ich dann kein Problem.\footnote{Vgl. \cite{LiteraturA}}
Mit Seitenzahl passt es allerdings.\footnote{Vgl. \cite{LiteraturA}, 25}
Mit Seitenzahl passt es allerdings.\footnote{Vgl. \cite[25]{LiteraturA}}
Lorem\footnote{Ein Text ohne Punkt}
ipsum\footnote{Ein Satz mit Punkt.}
ipsum\footnote{Wie bitte?}
Das ist die erste Nennung der Literatur.\autocite[Vgl.][]{sigfridsson,worman}
Beim zweiten Mal habe ich dann kein Problem.\autocite[Vgl.][]{sigfridsson}
Mit Seitenzahl passt es allerdings.\autocite[Vgl.][25]{sigfridsson}
Mit Seitenzahl passt es allerdings.\autocites(Vgl.)()[25]{sigfridsson}[30]{worman}[17]{geer}
\end{document}