von MoeWe » Mi 23. Mär 2022, 23:16
Probier mal
o. S.\isdot statt
o. S.. Dann weiß
biblatex, dass es sich bei dem
. um einen Abkürzungspunkt und nicht einen Satzendpunkt handelt. Schöner macht man das mit einem
bibstring, den man dann, um weniger schreiben zu müssen, in einen neuen Befehl verpackt.
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear]{biblatex}
\NewBibliographyString{nopage}
\DefineBibliographyStrings{german}{
nopage = {o\adddotspace S\adddot},
}
\newcommand*{\oS}{\bibstring{nopage}}
\addbibresource{biblatex-examples.bib}
\begin{document}
Gut \autocites[o.\,S.\isdot]{sigfridsson}[o.\,S.\isdot]{worman}
Besser \autocites[\oS]{sigfridsson}[\oS]{worman}
Schlecht \autocites[o. S.]{sigfridsson}[o. S.]{worman}
\printbibliography
\end{document}
Es ist grundsätzlich auch möglich, den Stil so umzufriemeln, dass er automatisch "o.S." sagt, wenn nicht explizit eine Seite/eine
postnote angegeben wurde. Wie genau das geht, hängt aber vom Stil ab. Bei
authoryear ist es recht simpel
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear]{biblatex}
\NewBibliographyString{nopage}
\DefineBibliographyStrings{german}{
nopage = {o\adddotspace S\adddot},
}
\renewbibmacro*{postnote}{%
\setunit{\printdelim{postnotedelim}}%
\iffieldundef{postnote}
{\bibstring{nopage}}
{\printfield{postnote}}}
\renewbibmacro*{textcite:postnote}{%
\ifbool{cbx:parens}
{\setunit{\printdelim{postnotedelim}}}
{\setunit{\printdelim{extpostnotedelim}\bibopenparen}}%
\iffieldundef{postnote}
{\bibstring{nopage}}
{\printfield{postnote}}%
\bibcloseparen}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
ipsum \autocites{sigfridsson}{worman}
dolor \textcite{nussbaum}
dolor \textcite[12]{nussbaum}
\printbibliography
\end{document}
Wenn das alles nicht hilft, zeig uns bitte in einem lauffähigen
Minimalbeispiel, was genau Du tust.
Probier mal [tt]o. S.\isdot[/tt] statt [tt]o. S.[/tt]. Dann weiß [tt]biblatex[/tt], dass es sich bei dem [tt].[/tt] um einen Abkürzungspunkt und nicht einen Satzendpunkt handelt. Schöner macht man das mit einem [i]bibstring[/i], den man dann, um weniger schreiben zu müssen, in einen neuen Befehl verpackt.
[code]
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear]{biblatex}
\NewBibliographyString{nopage}
\DefineBibliographyStrings{german}{
nopage = {o\adddotspace S\adddot},
}
\newcommand*{\oS}{\bibstring{nopage}}
\addbibresource{biblatex-examples.bib}
\begin{document}
Gut \autocites[o.\,S.\isdot]{sigfridsson}[o.\,S.\isdot]{worman}
Besser \autocites[\oS]{sigfridsson}[\oS]{worman}
Schlecht \autocites[o. S.]{sigfridsson}[o. S.]{worman}
\printbibliography
\end{document}
[/code]
Es ist grundsätzlich auch möglich, den Stil so umzufriemeln, dass er automatisch "o.S." sagt, wenn nicht explizit eine Seite/eine [i]postnote[/i] angegeben wurde. Wie genau das geht, hängt aber vom Stil ab. Bei [tt]authoryear[/tt] ist es recht simpel
[code]
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear]{biblatex}
\NewBibliographyString{nopage}
\DefineBibliographyStrings{german}{
nopage = {o\adddotspace S\adddot},
}
\renewbibmacro*{postnote}{%
\setunit{\printdelim{postnotedelim}}%
\iffieldundef{postnote}
{\bibstring{nopage}}
{\printfield{postnote}}}
\renewbibmacro*{textcite:postnote}{%
\ifbool{cbx:parens}
{\setunit{\printdelim{postnotedelim}}}
{\setunit{\printdelim{extpostnotedelim}\bibopenparen}}%
\iffieldundef{postnote}
{\bibstring{nopage}}
{\printfield{postnote}}%
\bibcloseparen}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
ipsum \autocites{sigfridsson}{worman}
dolor \textcite{nussbaum}
dolor \textcite[12]{nussbaum}
\printbibliography
\end{document}
[/code]
Wenn das alles nicht hilft, zeig uns bitte in einem lauffähigen [m][/m], was genau Du tust.