Comments (34)
@moewew hast du eine Idee, wie oder ob überhaupt das zu lösen ist?
from biblatex-archaeologie.
Nur damit ich es richtig verstehe. Du möchtest '2001/2002' aber trotzdem '2000--2005'? Also sollen nur direkt aufeinanderfolgende Jahre mit /
getrennt werden, alle anderen wie gehabt mit --
?
Ich kann mir vorstellen, dass das prinzipiell geht. Bordmittel dafür direkt gibt es wohl nicht. Bin mir nicht sicher, ob es so geht wie ich mir gerade denke. Dann wäre es nicht so kompliziert, aber recht frickelig, da der Code für die Datumsbehandlung recht viele Doppelungen aufweist.
Die Idee ist, es wenn \bibdaterangesep
ausgegeben werden soll, vorher zu prüfen, ob #1endyear-#1year=1
ist, wenn ja, dann wird /
ausgegeben.
Vielleicht habe ich die nächsten Tage Zeit, mir das mal anzusehen.
from biblatex-archaeologie.
Genau, so meine ich es.
#1endyear-#1year=1
sieht nach einem guten Ansatz aus.
Hatte schon befürchtet, dass das nicht geht. (was es ja eigentlich nicht gitb)
Danke für deine Überlegungen!
from biblatex-archaeologie.
\newrobustcmd*{\bibdatesubseqesep}{\slash}
\newrobustcmd*{\bibdaterangesepx}[1]{%
\ifboolexpr{test {\iffieldint{#1year}} and test {\iffieldint{#1endyear}}}
{\ifnumequal{\thefield{#1endyear}-\thefield{#1year}}{1}
{\bibdatesubseqesep}
{\bibdaterangesep}}
{\bibdaterangesep}}
\renewrobustcmd*{\mkdaterangefull}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
% Optionally print the time after the date
\blx@printtime{#2}{}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}}%
\dateuncertainprint
\dateeraprint{#2year}%
\iffieldundef{#2endyear}
{}
{\iffieldequalstr{#2endyear}{}
{\mbox{\bibdaterangesepx{#2}}}
{\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
% Optionally print the time after the date
\blx@printtime{#2}{end}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}
\renewrobustcmd*{\mkdaterangetrunc}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2day}}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibseasondate#1}{}{#2season}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}%
\dateuncertainprint
\iffieldundef{#2endyear}
{}
{\iffieldequalstr{#2endyear}{}
{\mbox{\bibdaterangesepx{#2}}}
{\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}
\renewrobustcmd*{\mkdaterangefullextra}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
\printtext{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
% Optionally print the time after the date
\blx@printtime{#2}{}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}}%
\dateuncertainprint
\dateeraprint{#2year}%
\iffieldundef{#2endyear}
{\printfield{extradate}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extradate}%
\printtext{\mbox{\bibdaterangesepx{#2}}}}
{\printtext{%
\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
% Optionally print the time after the date
\blx@printtime{#2}{end}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}}
\renewrobustcmd*{\mkdaterangetruncextra}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
\printtext{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2day}}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibseasondate#1}{}{#2season}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}%
\dateuncertainprint
\iffieldundef{#2endyear}
{\printfield{extradate}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extradate}%
\printtext{\mbox{\bibdaterangesepx{#2}}}}
{\printtext{%
\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}}
\renewrobustcmd*{\mkdaterangeymd}[1]{%
\blx@metadateinfo{#1}%
\iffieldundef{#1year}
{}
{\datecircaprint
\printtext[#1date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#1season}
{\blx@ymddate{#1}{}%
% Optionally print the time after the date
\blx@printtime{#1}{}}
{\csuse{mkbibseasondateshort}{#1year}{#1season}}%
\dateuncertainprint
\dateeraprint{#1year}%
\iffieldundef{#1endyear}
{}
{\iffieldequalstr{#1endyear}{}
{\mbox{\bibdaterangesepx{#1}}}
{\bibdaterangesepx{#1}%
\enddatecircaprint
\iffieldundef{#1season}
{\blx@ymddate{#1}{end}%
% Optionally print the time after the date
\blx@printtime{#1}{end}}
{\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}%
\enddateuncertainprint
\dateeraprint{#1endyear}}}}}}
\renewrobustcmd*{\mkdaterangeymdextra}[1]{%
\blx@metadateinfo{#1}%
\iffieldundef{#1year}
{}
{\datecircaprint
\printtext[#1date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#1season}
{\blx@ymddate[extradate]{#1}{}%
% Optionally print the time after the date
\blx@printtime{#1}{}}
{\csuse{mkbibseasondateshort}{#1year}{#1season}}%
\dateuncertainprint
\dateeraprint{#1year}%
\iffieldundef{#1endyear}
{}
{\iffieldequalstr{#1endyear}{}
{\mbox{\bibdaterangesepx{#1}}}
{\printtext{%
\bibdaterangesepx{#1}%
\enddatecircaprint
\iffieldundef{#1season}
{\blx@ymddate{#1}{end}%
% Optionally print the time after the date
\blx@printtime{#1}{end}}
{\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}}%
\enddateuncertainprint
\dateeraprint{#1endyear}}}}}}
Eigentlich ist nicht viel passiert. In den Datums-Makros wurde nur \bibdaterangesep
durch \bibdaterangesepx{#1}
/\bibdaterangesepx{#2}
ersetzt. Die Definition von \bibdaterangesepx
sollte selbsterklärend sein.
from biblatex-archaeologie.
Mit dem MWE
\documentclass[german,ngerman]{scrbook}
\usepackage{filecontents,babel}
\begin{filecontents}{\jobname.bib}
@article{HerzNeueMainzerSteininschriften1978,
langid = {german},
title = {Neue Mainzer Steininschriften (1964–1976)},
volume = {73/74},
journaltitle = {MainzZ},
author = {Herz, Peter},
date = {1978/1979},
pages = {275--290}}
@article{HerzNeueMainzerSteininschriften19782,
langid = {german},
title = {Neue Mainzer Steininschriften (1964–1976)},
volume = {73/74},
journaltitle = {MainzZ},
author = {Herz, Peter},
date = {1978/1988},
pages = {275--290}}
\end{filecontents}
\usepackage[
backend=biber,
%style=../biblatex-archaeologie/archaeologie,
style=archaeologie,
]{biblatex}
\addbibresource{\jobname.bib}
\newrobustcmd*{\bibdatesubseqesep}{\slash}
\newrobustcmd*{\bibdaterangesepx}[1]{%
\ifboolexpr{test {\iffieldint{#1year}} and test {\iffieldint{#1endyear}}}
{\ifnumequal{\thefield{#1endyear}-\thefield{#1year}}{1}
{\bibdatesubseqesep}
{\bibdaterangesep}}
{\bibdaterangesep}}
\renewrobustcmd*{\mkdaterangefull}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
% Optionally print the time after the date
\blx@printtime{#2}{}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}}%
\dateuncertainprint
\dateeraprint{#2year}%
\iffieldundef{#2endyear}
{}
{\iffieldequalstr{#2endyear}{}
{\mbox{\bibdaterangesepx{#2}}}
{\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
% Optionally print the time after the date
\blx@printtime{#2}{end}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}
\renewrobustcmd*{\mkdaterangetrunc}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2day}}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibseasondate#1}{}{#2season}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}%
\dateuncertainprint
\iffieldundef{#2endyear}
{}
{\iffieldequalstr{#2endyear}{}
{\mbox{\bibdaterangesepx{#2}}}
{\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}
\renewrobustcmd*{\mkdaterangefullextra}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
\printtext{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
% Optionally print the time after the date
\blx@printtime{#2}{}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}}%
\dateuncertainprint
\dateeraprint{#2year}%
\iffieldundef{#2endyear}
{\printfield{extradate}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extradate}%
\printtext{\mbox{\bibdaterangesepx{#2}}}}
{\printtext{%
\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
% Optionally print the time after the date
\blx@printtime{#2}{end}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}}
\renewrobustcmd*{\mkdaterangetruncextra}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
\printtext{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2day}}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibseasondate#1}{}{#2season}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}%
\dateuncertainprint
\iffieldundef{#2endyear}
{\printfield{extradate}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extradate}%
\printtext{\mbox{\bibdaterangesepx{#2}}}}
{\printtext{%
\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}}
\renewrobustcmd*{\mkdaterangeymd}[1]{%
\blx@metadateinfo{#1}%
\iffieldundef{#1year}
{}
{\datecircaprint
\printtext[#1date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#1season}
{\blx@ymddate{#1}{}%
% Optionally print the time after the date
\blx@printtime{#1}{}}
{\csuse{mkbibseasondateshort}{#1year}{#1season}}%
\dateuncertainprint
\dateeraprint{#1year}%
\iffieldundef{#1endyear}
{}
{\iffieldequalstr{#1endyear}{}
{\mbox{\bibdaterangesepx{#1}}}
{\bibdaterangesepx{#1}%
\enddatecircaprint
\iffieldundef{#1season}
{\blx@ymddate{#1}{end}%
% Optionally print the time after the date
\blx@printtime{#1}{end}}
{\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}%
\enddateuncertainprint
\dateeraprint{#1endyear}}}}}}
\renewrobustcmd*{\mkdaterangeymdextra}[1]{%
\blx@metadateinfo{#1}%
\iffieldundef{#1year}
{}
{\datecircaprint
\printtext[#1date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#1season}
{\blx@ymddate[extradate]{#1}{}%
% Optionally print the time after the date
\blx@printtime{#1}{}}
{\csuse{mkbibseasondateshort}{#1year}{#1season}}%
\dateuncertainprint
\dateeraprint{#1year}%
\iffieldundef{#1endyear}
{}
{\iffieldequalstr{#1endyear}{}
{\mbox{\bibdaterangesepx{#1}}}
{\printtext{%
\bibdaterangesepx{#1}%
\enddatecircaprint
\iffieldundef{#1season}
{\blx@ymddate{#1}{end}%
% Optionally print the time after the date
\blx@printtime{#1}{end}}
{\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}}%
\enddateuncertainprint
\dateeraprint{#1endyear}}}}}}
\begin{document}
\printbibliography
\nocite{*}
\end{document}
bekomme ich mit dem neuen Code eine Fehlermeldung.
from biblatex-archaeologie.
nehme alles zurück, ich habe natürlich \maketatletter
\makeatother
vergessen. MWE läuft problemlos! Danke.
Kann ich das so in die archaeologie.bbx
übernehmen?
from biblatex-archaeologie.
Prinzipiell ja. Eine kleine Änderung hätte ich noch
\newrobustcmd*{\bibdatesubseqesep}{\slash}
\newrobustcmd*{\bibdaterangesepx}[1]{%
\ifboolexpr{test {\iffieldint{#1year}} and test {\iffieldint{#1endyear}}}
{\ifnumequal{\thefield{#1endyear}-\thefield{#1year}}{1}
{\bibdatesubseqesep}
{\bibdaterangesep}}
{\bibdaterangesep}}
\renewrobustcmd*{\mkdaterangefull}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
% Optionally print the time after the date
\blx@printtime{#2}{}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}}%
\dateuncertainprint
\dateeraprint{#2year}%
\iffieldundef{#2endyear}
{}
{\iffieldequalstr{#2endyear}{}
{\mbox{\bibdaterangesep}}
{\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
% Optionally print the time after the date
\blx@printtime{#2}{end}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}
\renewrobustcmd*{\mkdaterangetrunc}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2day}}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibseasondate#1}{}{#2season}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}%
\dateuncertainprint
\iffieldundef{#2endyear}
{}
{\iffieldequalstr{#2endyear}{}
{\mbox{\bibdaterangesep}}
{\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}
\renewrobustcmd*{\mkdaterangefullextra}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
\printtext{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
% Optionally print the time after the date
\blx@printtime{#2}{}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}}%
\dateuncertainprint
\dateeraprint{#2year}%
\iffieldundef{#2endyear}
{\printfield{extradate}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extradate}%
\printtext{\mbox{\bibdaterangesep}}}
{\printtext{%
\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
% Optionally print the time after the date
\blx@printtime{#2}{end}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}}
\renewrobustcmd*{\mkdaterangetruncextra}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
\printtext{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2day}}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibseasondate#1}{}{#2season}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}%
\dateuncertainprint
\iffieldundef{#2endyear}
{\printfield{extradate}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extradate}%
\printtext{\mbox{\bibdaterangesep}}}
{\printtext{%
\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}}
\renewrobustcmd*{\mkdaterangeymd}[1]{%
\blx@metadateinfo{#1}%
\iffieldundef{#1year}
{}
{\datecircaprint
\printtext[#1date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#1season}
{\blx@ymddate{#1}{}%
% Optionally print the time after the date
\blx@printtime{#1}{}}
{\csuse{mkbibseasondateshort}{#1year}{#1season}}%
\dateuncertainprint
\dateeraprint{#1year}%
\iffieldundef{#1endyear}
{}
{\iffieldequalstr{#1endyear}{}
{\mbox{\bibdaterangesep}}
{\bibdaterangesepx{#1}%
\enddatecircaprint
\iffieldundef{#1season}
{\blx@ymddate{#1}{end}%
% Optionally print the time after the date
\blx@printtime{#1}{end}}
{\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}%
\enddateuncertainprint
\dateeraprint{#1endyear}}}}}}
\renewrobustcmd*{\mkdaterangeymdextra}[1]{%
\blx@metadateinfo{#1}%
\iffieldundef{#1year}
{}
{\datecircaprint
\printtext[#1date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#1season}
{\blx@ymddate[extradate]{#1}{}%
% Optionally print the time after the date
\blx@printtime{#1}{}}
{\csuse{mkbibseasondateshort}{#1year}{#1season}}%
\dateuncertainprint
\dateeraprint{#1year}%
\iffieldundef{#1endyear}
{}
{\iffieldequalstr{#1endyear}{}
{\mbox{\bibdaterangesep}}
{\printtext{%
\bibdaterangesepx{#1}%
\enddatecircaprint
\iffieldundef{#1season}
{\blx@ymddate{#1}{end}%
% Optionally print the time after the date
\blx@printtime{#1}{end}}
{\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}}%
\enddateuncertainprint
\dateeraprint{#1endyear}}}}}}
Ich bin in diesem Datumskram nicht so ganz drin, es kann sein, dass es mit amerikanischem Englisch Ärger gibt. Wenn das so ist, müssten auch die Definitionen aus english.lbx
angepasst werden.
from biblatex-archaeologie.
Dafür, dass du nicht so drin bist, ist das aber schon sehr gut! Danke!
Ich baue es in die archaeologie.bbx
ein. Falls Probleme beim Englischen auftauchen können wir (eigentlich eher du, weil ich da nicht durchsteige) immer noch reagieren.
from biblatex-archaeologie.
Beim folgenden MWE wird das Date im Label weiterhin mit --
ausgegeben, @moewew
\documentclass[german,ngerman]{scrbook}
\usepackage{filecontents,babel}
\begin{filecontents}{\jobname.bib}
@Article{DeVisscher1951-1952,
author = {de Visscher, Fernand and Mertens, Joseph},
title = {Les puits du Forum d'Alba Fucense},
journaltitle = BCom,
shortjournal = BCom-short,
volume = {74},
pages = {3--13},
date = {1951/1952},
}
@Reference{LTUR,
editor = {Steinby, Eva Margareta},
title = LTUR,
date = {1993/2000},
publisher = EQ,
location = Rome,
keywords = {corpus},
options = {corpus},
shorthand = LTUR-short,
}
\end{filecontents}
\usepackage[
backend=biber,
%style=../biblatex-archaeologie/archaeologie,
style=archaeologie,
]{biblatex}
\addbibresource{\jobname.bib}
\makeatletter
\AtBeginDocument{%
\newrobustcmd*{\bibdatesubseqesep}{\slash}
\newrobustcmd*{\bibdaterangesepx}[1]{%
\ifboolexpr{test {\iffieldint{#1year}} and test {\iffieldint{#1endyear}}}
{\ifnumequal{\thefield{#1endyear}-\thefield{#1year}}{1}
{\bibdatesubseqesep}
{\bibdaterangesep}}
{\bibdaterangesep}}
\renewrobustcmd*{\mkdaterangefull}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
% Optionally print the time after the date
\blx@printtime{#2}{}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}}%
\dateuncertainprint
\dateeraprint{#2year}%
\iffieldundef{#2endyear}
{}
{\iffieldequalstr{#2endyear}{}
{\mbox{\bibdaterangesep}}
{\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
% Optionally print the time after the date
\blx@printtime{#2}{end}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}
\renewrobustcmd*{\mkdaterangetrunc}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2day}}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibseasondate#1}{}{#2season}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}%
\dateuncertainprint
\iffieldundef{#2endyear}
{}
{\iffieldequalstr{#2endyear}{}
{\mbox{\bibdaterangesep}}
{\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}
\renewrobustcmd*{\mkdaterangefullextra}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
\printtext{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
% Optionally print the time after the date
\blx@printtime{#2}{}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}}%
\dateuncertainprint
\dateeraprint{#2year}%
\iffieldundef{#2endyear}
{\printfield{extradate}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extradate}%
\printtext{\mbox{\bibdaterangesep}}}
{\printtext{%
\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
% Optionally print the time after the date
\blx@printtime{#2}{end}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}}
\renewrobustcmd*{\mkdaterangetruncextra}[2]{%
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
\printtext{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2day}}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibseasondate#1}{}{#2season}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}%
\dateuncertainprint
\iffieldundef{#2endyear}
{\printfield{extradate}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extradate}%
\printtext{\mbox{\bibdaterangesep}}}
{\printtext{%
\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}}}
\renewrobustcmd*{\mkdaterangeymd}[1]{%
\blx@metadateinfo{#1}%
\iffieldundef{#1year}
{}
{\datecircaprint
\printtext[#1date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#1season}
{\blx@ymddate{#1}{}%
% Optionally print the time after the date
\blx@printtime{#1}{}}
{\csuse{mkbibseasondateshort}{#1year}{#1season}}%
\dateuncertainprint
\dateeraprint{#1year}%
\iffieldundef{#1endyear}
{}
{\iffieldequalstr{#1endyear}{}
{\mbox{\bibdaterangesep}}
{\bibdaterangesepx{#1}%
\enddatecircaprint
\iffieldundef{#1season}
{\blx@ymddate{#1}{end}%
% Optionally print the time after the date
\blx@printtime{#1}{end}}
{\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}%
\enddateuncertainprint
\dateeraprint{#1endyear}}}}}}
\renewrobustcmd*{\mkdaterangeymdextra}[1]{%
\blx@metadateinfo{#1}%
\iffieldundef{#1year}
{}
{\datecircaprint
\printtext[#1date]{%
% Such a season component can only come from an ISO8601 season which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
\iffieldundef{#1season}
{\blx@ymddate[extradate]{#1}{}%
% Optionally print the time after the date
\blx@printtime{#1}{}}
{\csuse{mkbibseasondateshort}{#1year}{#1season}}%
\dateuncertainprint
\dateeraprint{#1year}%
\iffieldundef{#1endyear}
{}
{\iffieldequalstr{#1endyear}{}
{\mbox{\bibdaterangesep}}
{\printtext{%
\bibdaterangesepx{#1}%
\enddatecircaprint
\iffieldundef{#1season}
{\blx@ymddate{#1}{end}%
% Optionally print the time after the date
\blx@printtime{#1}{end}}
{\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}}%
\enddateuncertainprint
\dateeraprint{#1endyear}}}}}}}
\makeatother
\begin{document}
\printbibliography
\nocite{*}
\end{document}
from biblatex-archaeologie.
Das Problem ist cite:labelyear+extradate
. Siehe #134
from biblatex-archaeologie.
Super, Danke!
from biblatex-archaeologie.
Für english.lbx
würde ich zusätzlich
\protected\gdef\lbx@us@mkdaterangetrunc@long#1#2{%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\dateeraprint{#2}}}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibseasondate#1}{}{#2season}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}}%
\dateeraprint{#2}}%
\dateuncertainprint
\iffieldundef{#2endyear}
{}
{\iffieldequalstr{#2endyear}{}
{\mbox{\bibdaterangesep}}
{\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
\enddateuncertainprint
\dateeraprint{#2}}}}}}
\protected\gdef\lbx@us@mkdaterangetrunc@short#1#2{%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}
\dateeraprint{#2}}}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibseasondate#1}{}{#2season}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}}%
\dateeraprint{#2}}%
\dateuncertainprint
\iffieldundef{#2endyear}
{}
{\iffieldequalstr{#2endyear}{}
{\mbox{\bibdaterangesep}}
{\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
\enddateuncertainprint
\dateeraprint{#2}}}}}}
\protected\gdef\lbx@us@mkdaterangetruncextra@long#1#2{%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibseasondate#1}{}{#2season}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}}%
\dateeraprint{#2}}%
\dateuncertainprint
\iffieldundef{#2endyear}
{\printfield{extradate}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extradate}%
\mbox{\bibdaterangesep}}
{\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2}}}}}}
\protected\gdef\lbx@us@mkdaterangetruncextra@short#1#2{%
\iffieldundef{#2year}
{}
{\datecircaprint
\printtext[#2date]{%
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
{\iffieldsequal{#2year}{#2endyear}
{\csuse{mkbibseasondate#1}{}{#2season}}
{\csuse{mkbibseasondate#1}{#2year}{#2season}}%
\dateeraprint{#2}}%
\dateuncertainprint
\iffieldundef{#2endyear}
{\printfield{extradate}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extradate}%
\mbox{\bibdaterangesep}}
{\bibdaterangesepx{#2}%
\enddatecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
{\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2}}}}}}
empfehlen.
Gab es einen Grund für \AtBeginDocument
in Deinem Beispiel?
from biblatex-archaeologie.
Ich hatte das Gefühl, dass der Patch erst am Ende erfolgen sollte... macht aber wohl keinen Unterschied?!.
from biblatex-archaeologie.
Ich habe es jetzt nicht extensiv getestet, aber ich glaube nicht. Nur die Vorschläge für english.lbx
müssten nach dem Laden von english.lbx
ausgeführt werden.
from biblatex-archaeologie.
Folgendes MWE funktioniert (Achtung Link zu archaeologie
manuell ins Github-Repo setzen),
\documentclass[ngerman]{scrbook}
\usepackage{iftex}
\ifPDFTeX
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\else
\ifXeTeX
\usepackage{fontspec}
\def\compiler{\hologo{XeLaTeX}}
\else
\usepackage{fontspec}
\usepackage{luatextra}
\usepackage{luaotfload}
\def\compiler{\hologo{LuaLaTeX}}
\fi
\defaultfontfeatures{Ligatures=TeX}
\fi
\listfiles
\usepackage{libertine}
\usepackage{babel}
\usepackage{xcolor}
\definecolor{codeblue}{RGB}{0,65,137}
\definecolor{codegreen}{RGB}{147,193,26}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\usepackage[
backend=biber,
style=/Users/lukascbossert/Documents/github/biblatex-archaeologie/archaeologie,
inreferences,
lstabbrv,
lstlocations,
lstpublishers,
autocite=inline,
]{biblatex}
\addbibresource{archaeologie-examples.bib}
\usepackage[%
skins,%
listings,%
breakable,%
]{tcolorbox}
\lstMakeShortInline{|}
\tcbset{examplebox/.style={%
boxrule=0pt,
bottomrule=2pt,
toprule=2pt,
colframe=codeblue,
colback=codegreen!10,
coltitle=codegreen!10,% coltitle=codeblue,
bicolor,
sharp corners,
fontupper=\small\ttfamily,
colbacklower=codeblue!10,
fonttitle=\sffamily\bfseries,
}}
\newtcblisting{example}{%
before skip=\baselineskip,
examplebox,
breakable,
% sidebyside,
listing and text,
}
\newtcolorbox{bibbox}[1]{
breakable,
top=5pt,
bottom=5pt,
colback=codeblue!10,
colframe=codeblue,
left=5pt,
right=5pt,
sharp corners,
boxrule=0pt,
bottomrule=2pt,
toprule=2pt,
enhanced jigsaw,
lefttitle=0pt,
coltitle=black,
fontupper=\small,%\ttfamily,
colbacktitle=codeblue!20,
fonttitle=\bfseries\footnotesize,
title={\Cref{#1}},
borderline north={1pt}{14.4pt}{codeblue,dashed},
}
\newcommand*{\printbib}[2][5em]{%
\begingroup
\begin{bibbox}{#2}
\begin{refsection}
\setlength{\labwidthsameline}{#1}
\nocite{#2}
\printbibliography[heading=none]
\end{refsection}
\end{bibbox}
\endgroup
}
\usepackage{cleveref}
\begin{document}
\printbib[11em]{DeVisscher1951-1952}
\end{document}
Aber wenn ich die Doku archaeologie.tex
kompiliere, wird mir nachwievor 1951–1952
ausgegeben.
from biblatex-archaeologie.
Ich denke, dass wird daran liegen, dass die Doku auf Englisch ist, also english.lbx
lädt. Du musst irgendwie dafür sorgen, die Definition aus english.lbx
nach deren Laden zu überschreiben. Da muss ich ein bisschen drüber nachdenken.
from biblatex-archaeologie.
Probiers mal mit #136.
from biblatex-archaeologie.
Funktioniert!! Lag es nur daran, dass ich es nicht in die .lbx
geschrieben hatte? Danke!
from biblatex-archaeologie.
Denke schon. Es kommt bei diesen Befehlen auf die Ladereihenfolge an. Die .lbx
-Dateien werden deutlich nach der .bbx
geladen. Damit hat die .bbx
nicht die Definitionen aus english.lbx
überschrieben sondern umgekehrt. Glücklicherweise ist die Reihenfolge auch bei verschachtelten .lbx
en so wie wir es brauchen.
from biblatex-archaeologie.
Bei den anderen Sprachen muss nichts angepasst werden? Zumindest bekomme ich beim Testen keine Fehlermeldungen?!
from biblatex-archaeologie.
Nein, soweit ich das sehen kann, bekommt nur english.lbx
ein Extrwürstchen mit eigenen Datumsmakros in der .lbx
. Aller anderen Dateien nehmen den Standard, den wir ja schon geändert haben.
from biblatex-archaeologie.
Perfekt. Wieder etwas zum Abhaken.
from biblatex-archaeologie.
Wenn ich hier nochmals nachhaken darf, @moewew
\documentclass{scrbook}
\usepackage[
backend=biber,
style=/Users/lukascbossert/Documents/github/biblatex-archaeologie/archaeologie, %--2.3.5beta!
]{biblatex}
\addbibresource{archaeologie-examples.bib}
\begin{document}
\citeyear{DeVisscher1951-1952} %--- soll 1951/1952 sein.
\end{document}
Da wird momentan mit archaeologie v.2.3.5beta
(wie aktuell auf GitHub) bei Jahr 1951
ausgegeben, aber es sollte 1951/1952
sein.
from biblatex-archaeologie.
Das liegt daran, dass \citeyear
wirklich nur das Jahr ausgibt, es ist definiert als
\DeclareCiteCommand{\citeyear}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\printfield{year}}
{\multicitedelim}
{\usebibmacro{postnote}}
\citedate
ist wohl angebrachter hier
\documentclass{scrbook}
\usepackage[
backend=biber,
style=archaeologie, %--2.3.5beta!
]{biblatex}
\addbibresource{archaeologie-examples.bib}
\begin{document}
\citeyear{DeVisscher1951-1952} %--- soll 1951/1952 sein.
\citedate{DeVisscher1951-1952} %--- soll 1951/1952 sein.
\end{document}
from biblatex-archaeologie.
Es ist der Wurm drin:
\documentclass[german,ngerman,parskip=full]{scrartcl}
\usepackage{babel}
\usepackage[
backend=biber,
style=../biblatex-archaeologie/archaeologie,
]{biblatex}
\addbibresource{archaeologie-examples.bib}
\begin{document}
\cite{DeVisscher1951-1952}\par %---> nicht korrekt, nur das erste Jahr ausgegeben.
\citedate{DeVisscher1951-1952}\par %--> korrekt
\citeyear{DeVisscher1951-1952} %---> nicht korrekt, aber oben beschrieben
\printbibliography
\end{document}
Liegt das doch noch an
\newbibmacro{cite}{%
\ifboolexpr{
bool{bbx:inreferences}
and
test{\ifentrytype{inreference}}
}
{\usebibmacro{cite:lexikon}}%
{\ifbool{cbx:seenote}%
{\usebibmacro{cite:seenote}}%
{\printtext[bibhyperref]{%
\iffieldundef{shorthand}%
{\ifnameundef{labelname}%
{\usebibmacro{cite:label}%
\setunit{\labelyeardelim}}%
{\printnames{labelname}%
\setunit{\nameyeardelim}}%
\usebibmacro{cite:year}}%
{\usebibmacro{cite:shorthand}}}}}}
%-----------------------
\newbibmacro*{citeyear}{%
\iffieldundef{shorthand}%
{\iffieldundef{labelyear}%
{\usebibmacro{cite:label}}%
{\usebibmacro{cite:labeldate+extradate}}}%
{\usebibmacro{cite}}}
in der .cbx
@moewew ?
from biblatex-archaeologie.
date
sollte Priorität vor year
in \DeclareLabeldate
haben
Mit
\DeclareLabeldate{%
\field{date}
\field{year}
\field{origdate}
\field{urldate}
\field{pubstate}
\field{eventdate}
\literal{nodate}
}
statt
biblatex-archaeologie/archaeologie.bbx
Lines 792 to 800 in d65ff27
geht es.
Das Problem ist 'year' als Überbleibsel vom alten Format.
from biblatex-archaeologie.
ah, jetzt erinnere ich mich, warum ich year
wieder hochgeschoben hatte.
date
wurde als Label teilweise mit vollem Datum ausgegeben, es sollte aber automatisch nur auf das Jahr reduziert werden.
Ich versuche ein MWE zu basteln.
from biblatex-archaeologie.
Dann wäre aber die korrekte Vorgehensweise labeldate=year
in der Präambel und nicht das Hochschieben von \field{year}
, das meiner Meinung nach gestrichen gehört (plk/biblatex#714).
from biblatex-archaeologie.
Mit labeldateparts=true,% labeldate=year,%
in der ExecuteBibliographyOptions
klappt es! danke!!!!
field{year}
wird ersatzlos gestrichen.
from biblatex-archaeologie.
Zu früh gefreut. field{year}
wird dennoch benötigt.....
from biblatex-archaeologie.
Ja aktuell kann es nicht weg, es muss aber definitiv nach \field{date}
kommen.
from biblatex-archaeologie.
Ich habe einen neuen Eintrag (@Talk
), da greift die Regel, dass date
für das Label nur als Jahr ausgegeben wird, (noch) nicht:
\documentclass[german,ngerman,parskip=full]{scrartcl}
\usepackage{babel}
\usepackage[
backend=biber,
style=../biblatex-archaeologie/archaeologie, % GITHUB
]{biblatex}
\addbibresource{archaeologie-examples.bib}
\begin{document}
\cite{DeVisscher1951-1952}\par
\citedate{DeVisscher1951-1952}\par
\citeyear{DeVisscher1951-1952}
\cite{Bergmann2015}
\printbibliography
\end{document}
@Talk{Bergmann2015,
author = {Bergmann, Birgit},
title = {\enquote{An exciting find}},
date = {2015-04-27},
subtitle = {Neues zum Forums-Fries der Praedia Iuliae Felicis},
titleaddon = {(Pompeii II, 4)},
url = {https://www.antikezentrum.hu-berlin.de/de/veranstaltungskalender/bibergmann},
urldate = {2016-05-14},
eventtitle = {Kolloquium der Klassischen Archäologie},
institution = {Freie Universität Berlin},
venue = Berlin,
}
from biblatex-archaeologie.
Du hast zwar labeldate=year,%
in der .bbx
aber das alldates=comp,
in der .cbx
überschreibt das wieder.
from biblatex-archaeologie.
Wow, was du alles siehst!
alldates=comp,%
labeldateparts=true,%
labeldate=year,%
geändert. Damit passt es jetzt.
from biblatex-archaeologie.
Related Issues (20)
- Silbentrennung in der Sprache des Eintrags, Strings in der Hauptsprache des Dokuments HOT 4
- eventdate überschreibt pubstate HOT 2
- kein Komma vor `in` bei fehlendem Titel HOT 12
- Trennungen von @Strings
- @Strings mit biblatex 3.9/biber 2.9 nicht mehr erkannt. HOT 2
- Anzeige AutorInnennamen im Fließtext HOT 12
- citereset für section ohne Funktion HOT 2
- bibstring owntranslation funktioniert, aber mit Fehlermeldung HOT 15
- bold labels in Bibliografieverzeichnis HOT 4
- Option initials abhängig von biber-version HOT 3
- set language per field HOT 6
- You haven't defined the language @empty yet. HOT 2
- Eingetragener Wert in `pages` wird überschrieben und Seitenzahlen werden wiederholt HOT 3
- Bessere Sortierung "Name - Jahr - Monat - Tag - Titel" HOT 2
- Jahresangaben bei Lexika nicht vollständig. HOT 4
- Leerzeichen in postnote zwischen Kommata HOT 2
- @Strings / Support for greek letters / inputenc HOT 1
- 'Make install' keeps failing HOT 6
- Put "submitted" in parentheses in the text HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from biblatex-archaeologie.