Das Problem mit \AtBeginDocument{\let\normalsfcodes\frenchspacing} ist, dass es (wegen des French-Spacings) nun ungewollte Punkte hinzufügt, wenn die Fußnote mit einem nicht von biblatex erzeugten Satzzeichen endet.
\documentclass{scrartcl} \usepackage[ngerman]{babel} \usepackage{ifthen} %Automatische Punktierung der Fußnoten \let\orgfootnote\footnote \newcommand\myautodot{% \ifthenelse{\the\spacefactor>\sfcode`,}{}{.}% } \renewcommand\footnote[2][\empty]{% \ifx#1\empty% \orgfootnote{\normalsfcodes#2\myautodot}% \else% \orgfootnote[#1]{\normalsfcodes#2\myautodot}% \fi% } \AtBeginDocument{\let\normalsfcodes\frenchspacing} \begin{document} Lorem\footnote{Ein Text ohne Punkt} ipsum\footnote{Ein Satz mit Punkt.} dolor\footnote{Wie bitte?} \end{document}
Die ganze Sache ist also äußerst frickelig. Bei LaTeX gibt es so viele Möglichkeiten, wie andere Pakete und Befehle an Dingen herumspielen können, dass Du Dir bei so einer Automatik wie hier nie ganz sicher sein kannst, dass alles wie erwartet funktioniert. Ich bin bei meinem Code relativ zuversichtlich, dass es mit einem LaTeX-System auf heutigem Stand für Fußnoten, in denen der Text entweder manuell eingegeben oder von biblatex erzeugt wird, das Richtige tut. Ich möchte aber keinesfalls meine Hand dafür ins Feuer legen, dass der Code auch das tut, was Du gerne hättest, wenn Du den Text der Fußnote mit Befehlen eines anderen Pakets beendest. Es hindert diesen hypothetischen Befehl nämlich rein gar nichts daran, die Space-Factor-Werte so zu ändern, dass die Detektion nun nicht mehr wie erwartet funktioniert. Außerdem kann ich nicht garantieren, dass der Code in Zukunft dasselbe tut. Denn Definitionen können sich ändern (siehe Ulrikes Hinweis - und sie muss es wissen). So oder so musst Du also alle Deine Fußnoten manuell nachprüfen. Es ist dann zwar ein zusätzlicher Aufwand, bei jeder Prüfung den Punkt manuell hinzuzufügen, aber dennoch würde ich eher dazu raten, auf so eine Automatik zu verzichten, als sich dauerhaft darauf zu verlassen.