von MoeWe » Mo 27. Jun 2022, 18:10
Bei Fragen dieser Art ist es
sehr hilfreich, nicht nur den Ist-Zustand zu beschreiben, sondern auch explizit zu sagen, wie der Soll-Zustand ausschaut. (Wenn das Minimalbeispiel gut ist, ist es in den meisten Fällen gar nicht nötig, den Ist-Zustand so lange zu beschreiben. Es ist viel wichtiger, zu wissen, was Du stattdessen sehen möchtest. Denn was Du gerade bekommst, sehen wir ja selbst im Beispiel.)
Ich rate hier einfach mal, dass Du die Leerzeichen im Datum nicht möchtest. Das ginge dann, indem Du aus der
Definition von \mkbibdateshort aus german.lbx (Z. 28-41 in v3.18) die
\thinspaces weglöschst.
\documentclass[parskip=half-,fontsize=12pt,ngerman]{scrreprt}
\usepackage[onehalfspacing]{setspace}
\usepackage{libertinus}
\usepackage[ngerman]{babel}
\usepackage{microtype}
\usepackage[
backend=biber,
style=biblatex-juradiss,
sorting=nyvt,
sortcites=true,
uniquename=true,
maxnames=3,%
singletitle=true,
idemtracker=false,
ibidtracker=constrict,
date=short,
datezeros=false,
]{biblatex}
\DefineBibliographyExtras{german}{%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
{\mkdayzeros{\thefield{#3}}\adddot}%
\iffieldundef{#2}
{}
{\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}
{}
{\iffieldundef{#3}{/}{\adddot}}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
}
\begin{filecontents}[force]{\jobname.bib}
@jurisdiction{bverfg:volkszaehlung,
author = {BVerfG},
date = {1983-12-15},
decision = {Urteil},
decisionname = {Volkszählung},
officialpages = {1},
officialvolume = {BVerfGE 65},
sign = {1 BvR 209/83},
gender = {sm},
title = {Volkszählung},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Test\autocite{bverfg:volkszaehlung}
\end{document}
Man beachte, dass das Beispiel so lauffähig ist. Im ursprünglich geposteten Code wurde
\begin{filecontents}[force]{\jurisdiction.bib} verwendet, was einen Fehler gab, da
\jurisdiction kein Makro ist, das zu einfachem Text expandieren würde. Sowohl
filecontents als auch
\addbibresource erwarten aber einen Dateinamen (also letztendlich einfachen Text).
\jobname ist ein spezielles Makro, dass zum aktuellen Dateinamen der
.tex-Datei (ohne Dateiendung) expandiert. Es eignet sich daher zum erstellen temporärer Dateien mit anderer Dateiendung. Das
\ im Dateinamen ist aber nicht Bestandteil der Syntax der
filecontents-Umgebung oder von
\addbibresource.
Bei Fragen dieser Art ist es [i]sehr[/i] hilfreich, nicht nur den Ist-Zustand zu beschreiben, sondern auch explizit zu sagen, wie der Soll-Zustand ausschaut. (Wenn das Minimalbeispiel gut ist, ist es in den meisten Fällen gar nicht nötig, den Ist-Zustand so lange zu beschreiben. Es ist viel wichtiger, zu wissen, was Du stattdessen sehen möchtest. Denn was Du gerade bekommst, sehen wir ja selbst im Beispiel.)
Ich rate hier einfach mal, dass Du die Leerzeichen im Datum nicht möchtest. Das ginge dann, indem Du aus der [url=https://github.com/plk/biblatex/blob/1c2025ef131734d778d9e5792621df232a91be09/tex/latex/biblatex/lbx/german.lbx#L28-L41]Definition von [tt]\mkbibdateshort[/tt] aus [tt]german.lbx[/tt] (Z. 28-41 in v3.18)[/url] die [tt]\thinspace[/tt]s weglöschst.
[code]
\documentclass[parskip=half-,fontsize=12pt,ngerman]{scrreprt}
\usepackage[onehalfspacing]{setspace}
\usepackage{libertinus}
\usepackage[ngerman]{babel}
\usepackage{microtype}
\usepackage[
backend=biber,
style=biblatex-juradiss,
sorting=nyvt,
sortcites=true,
uniquename=true,
maxnames=3,%
singletitle=true,
idemtracker=false,
ibidtracker=constrict,
date=short,
datezeros=false,
]{biblatex}
\DefineBibliographyExtras{german}{%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
{\mkdayzeros{\thefield{#3}}\adddot}%
\iffieldundef{#2}
{}
{\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}
{}
{\iffieldundef{#3}{/}{\adddot}}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
}
\begin{filecontents}[force]{\jobname.bib}
@jurisdiction{bverfg:volkszaehlung,
author = {BVerfG},
date = {1983-12-15},
decision = {Urteil},
decisionname = {Volkszählung},
officialpages = {1},
officialvolume = {BVerfGE 65},
sign = {1 BvR 209/83},
gender = {sm},
title = {Volkszählung},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Test\autocite{bverfg:volkszaehlung}
\end{document}
[/code]
Man beachte, dass das Beispiel so lauffähig ist. Im ursprünglich geposteten Code wurde [tt]\begin{filecontents}[force]{\jurisdiction.bib}[/tt] verwendet, was einen Fehler gab, da [tt]\jurisdiction[/tt] kein Makro ist, das zu einfachem Text expandieren würde. Sowohl [tt]filecontents[/tt] als auch [tt]\addbibresource[/tt] erwarten aber einen Dateinamen (also letztendlich einfachen Text). [tt]\jobname[/tt] ist ein spezielles Makro, dass zum aktuellen Dateinamen der [tt].tex[/tt]-Datei (ohne Dateiendung) expandiert. Es eignet sich daher zum erstellen temporärer Dateien mit anderer Dateiendung. Das [tt]\[/tt] im Dateinamen ist aber nicht Bestandteil der Syntax der [tt]filecontents[/tt]-Umgebung oder von [tt]\addbibresource[/tt].