Ich unterrichte Kurse und in meinen Notizen steht "Herbst 2015" im Herbstsemester und "Frühjahr 2016" im Frühjahrssemester. Ich kann
\the\year
für das Jahr. Aber gibt es so etwas wie
\the\season
für Herbst und Frühling? Und wenn ja, wie kann ich anpassen, welche Monate das Semester definieren?
Antwort1
Ohne zusätzliches Paket und mit Unterstützung für northern
oder southern
Hemisphäre:
\documentclass{article}
\newif\ifnorthernhemisphere
\northernhemispheretrue
\newcommand{\season}{%
\ifnorthernhemisphere
\ifcase\month
\or Winter
\or Winter
\or Spring
\or Spring
\or Spring
\or Summer
\or Summer
\or Summer
\or Fall
\or Fall
\or Fall
\or Winter
\fi
\else
\ifcase\month
\or Summer
\or Summer
\or Fall
\or Fall
\or Fall
\or Winter
\or Winter
\or Winter
\or Spring
\or Spring
\or Spring
\or Summer
\fi
\fi
}
\begin{document}
Northern hemisphere
\the\month\ \season
\month=5
\the\month\ \season
\month=9
\the\month\ \season
Southern hemisphere
\month=2
\northernhemispherefalse
\the\month\ \season
\month=5
\the\month\ \season
\month=9
\the\month\ \season
\end{document}
AktualisierenHier ist eine Variante mit optionalem Argument:
\documentclass{article}
\newif\ifnorthernhemisphere
\northernhemispheretrue
\newcommand{\season}[1][\month]{%
\ifnorthernhemisphere
\ifcase#1
\or Winter
\or Winter
\or Spring
\or Spring
\or Spring
\or Summer
\or Summer
\or Summer
\or Fall
\or Fall
\or Fall
\or Winter
\fi
\else
\ifcase#1
\or Summer
\or Summer
\or Fall
\or Fall
\or Fall
\or Winter
\or Winter
\or Winter
\or Spring
\or Spring
\or Spring
\or Summer
\fi
\fi
}
\begin{document}
Northern hemisphere
\season
\season[5]
\season[9]
Southern hemisphere
\northernhemispherefalse
\season
\season[5]
\season[9]
\end{document}
**Eine andere Version – mit xparse
und expl3
Funktionen:
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\seq_new:N \g_default_spring_semester_seq
\seq_new:N \g_default_fall_semester_seq
\seq_new:N \g_spring_semester_seq
\seq_new:N \g_fall_semester_seq
\seq_set_from_clist:Nn \g_default_spring_semester_seq {1,2,3,4,5,6}
\NewDocumentCommand{\SetSpringSemesterMonths}{m}{%
\seq_set_from_clist:Nn \g_spring_semester_seq {#1}
}
\NewDocumentCommand{\SetFallSemesterMonths}{m}{%
\seq_set_from_clist:Nn \g_fall_semester_seq {#1}
}
\SetSpringSemesterMonths{1,2,3,4,5,6}
\SetFallSemesterMonths{7,8,9,10,11,12}
\NewDocumentCommand{\season}{}{%
\seq_if_empty:NTF \g_spring_semester_seq
{\seq_set_eq:NN \l_tmpa_seq \g_default_spring_semester_seq}
{\seq_set_eq:NN \l_tmpa_seq \g_spring_semester_seq}
\seq_if_empty:NTF \g_fall_semester_seq {\seq_set_eq:NN \l_tmpb_seq \g_default_fall_semester_seq}
{\seq_set_eq:NN \l_tmpb_seq \g_fall_semester_seq}
\seq_if_in:NVTF \l_tmpa_seq {\month} {
Spring%
}{%
\seq_if_in:NVTF \l_tmpb_seq {\month} {%
Fall%
}{}
}
}
\ExplSyntaxOff
\begin{document}
\season
\end{document}
Antwort2
Hier ist eine Lösung
\documentclass{article}
\begin{document}
\ifnum\month<7
Spring
\else
Fall
\fi
\month=11
\ifnum\month<7
Spring
\else
Fall
\fi
\end{document}
Antwort3
Aktualisieren:Verrückterer Code, keine Eigenschaftenliste!:)
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\clist_new:N \g_season_clist
\bool_new:N \g_season_northenhemisphere_bool
\bool_gset_false:N \g_season_northenhemisphere_bool
\NewDocumentCommand { \getseason } { m } {
\clist_item:Nn \g_season_clist {
\int_mod:nn {
\int_div_round:nn { #1 - 1 } { 3 } + \bool_if:NTF \g_season_northenhemisphere_bool { 3 } { 1 }
} { 4 } + 1
}
}
\NewDocumentCommand { \setseasons } { m } {
\clist_gset:Nn \g_season_clist { #1 }
}
\NewDocumentCommand { \northenhemisphere } { } {
\bool_gset_true:N \g_season_northenhemisphere_bool
}
\NewDocumentCommand { \southernhemisphere } { } {
\bool_gset_false:N \g_season_northenhemisphere_bool
}
\ExplSyntaxOff
\begin{document}
\setseasons{Spring,Summer,Fall,Winter}
\northenhemisphere
In the Northen Hemisphere, we have \getseason{\month}.
\southernhemisphere
In the Southern Hemisphere, we have \getseason{\month}.
\end{document}
Ursprünglicher Versuch:Verrückter Code voraus!:)
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\clist_new:N \g_season_clist
\prop_new:N \g_season_prop
\prop_gput:Nnn \g_season_prop { 12 } { 4 }
\prop_gput:Nnn \g_season_prop { 1 } { 4 }
\prop_gput:Nnn \g_season_prop { 2 } { 4 }
\prop_gput:Nnn \g_season_prop { 3 } { 1 }
\prop_gput:Nnn \g_season_prop { 4 } { 1 }
\prop_gput:Nnn \g_season_prop { 5 } { 1 }
\prop_gput:Nnn \g_season_prop { 6 } { 2 }
\prop_gput:Nnn \g_season_prop { 7 } { 2 }
\prop_gput:Nnn \g_season_prop { 8 } { 2 }
\prop_gput:Nnn \g_season_prop { 9 } { 3 }
\prop_gput:Nnn \g_season_prop { 10 } { 3 }
\prop_gput:Nnn \g_season_prop { 11 } { 3 }
\bool_new:N \g_season_northenhemisphere_bool
\bool_gset_false:N \g_season_northenhemisphere_bool
\NewDocumentCommand { \getseason } { m } {
\clist_item:Nn \g_season_clist {
\int_mod:nn {
\prop_item:Nn \g_season_prop { #1 } + \bool_if:NTF \g_season_northenhemisphere_bool { 3 } { 1 }
} { 4 } + 1
}
}
\NewDocumentCommand { \setseasons } { m } {
\clist_gset:Nn \g_season_clist { #1 }
}
\NewDocumentCommand { \northenhemisphere } { } {
\bool_gset_true:N \g_season_northenhemisphere_bool
}
\NewDocumentCommand { \southernhemisphere } { } {
\bool_gset_false:N \g_season_northenhemisphere_bool
}
\ExplSyntaxOff
\begin{document}
\setseasons{Spring,Summer,Fall,Winter}
\northenhemisphere
In the Northen Hemisphere, we have \getseason{\month}.
\southernhemisphere
In the Southern Hemisphere, we have \getseason{\month}.
\end{document}
Die Ausgabe:
Man könnte einen babel
Hook hinzufügen, um die Jahreszeitennamen entsprechend der aktuellen Sprache einzurichten oder sogar datetime
jedes Datum zu formatieren, wie zum Beispiel \season\today
. Hoffe, das hilft!:)
Antwort4
Eine biblatex
Lösung, wenn mehrere Objekte vorhanden sind oder Archivelemente vorhanden sind.
Behandlung der Saison als Teil der Veröffentlichungs(Meta)daten.
Auch die Lokalisierung kann eine Rolle spielen. (Beachten Sie, dass (noch) nicht alle babel
/ polyglossia
-Sprachen season
-bezogene Zeichenfolgen definieren.)
MWE
\begin{filecontents*}[overwrite]{\jobname.bib}
@misc{notesset1,
title = {Lecture Notes Set 1},
date = {2020-23},
}
% season (21=spring, 22=summer, 23=autumn, 24=winter)
@misc{notesset2,
title = {Lecture Notes Set 2},
date = {2021-21},
}
@misc{notesset3,
title = {Lecture Notes Set 3},
date = {2021-22},
}
@misc{notesset4,
title = {Lektur 1},
date = {2021-22},
langid = {ngerman},
% language={langgerman},
}
@misc{notesset5,
title = {Διάλεξη 1},
date = {2021-22},
langid = {greek},
language={langgreek},
}
@misc{notesset5a,
title = {Conferenza 1},
date = {2021-22},
langid = {italian},
language={langitalian},
}
\end{filecontents*}
\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[svgnames]{xcolor}
\usepackage{fontspec}
\babelprovide[import, onchar=ids fonts]{greek}
\babelfont[greek]{rm}
[Color=DarkGreen ,
]{Noto Serif}
\usepackage[style=authoryear,
dateabbrev=false,% full name of season
language=autocite,%pick up the langid language, for citations
autolang=other,%wrap with otherlanguage environment and translate date-related names according to the langid
]{biblatex}
\addbibresource{\jobname.bib}
\DeclareListFormat{language}{\ifbibstring{#1}{\bibstring{#1}\addcolon}{#1}}
\DeclareCiteCommand{\citeseasonall}
{}
{\textmd{\printlist{language}}
\printfield{title}\addcomma\addspace\printdate}
{}
{}
\DeclareCiteCommand{\citeseasontitle}
{}
{\printfield{title}
}
{}
{}
\DeclareCiteCommand{\citeseason}
{}
{\printdate}
{}
{}
\DefineBibliographyStrings{greek}{%
spring = {άνοιξη},
summer = {καλοκαίρι},
autumn = {φθινόπωρο},
winter = {χειμώνας},
langgreek = {Ελληνικά},
}
\DefineBibliographyStrings{italian}{%
spring = {primavera},
summer = {estate},
autumn = {autunno},
winter = {inverno},
langitalian = {italiano},
}
%-----------------------------
\title{\citeseasontitle{notesset1}}
\author{}
\date{\citeseason{notesset1}}
%------------------
\begin{document}
\maketitle
\section*{Overview}
\begin{itemize}
\item \textbf{\citeseasonall{notesset1}} covers introductory material.
\item \textbf{\citeseasonall{notesset2}} advances to the next topic.
\item \textbf{\citeseasonall{notesset3}} covers the extended course.
\item German: \textbf{\citeseasonall{notesset4}} is the xyz version.
\item Greek: \textbf{\citeseasonall{notesset5}} is the abc version.
\item Italian: \textbf{\citeseasonall{notesset5a}} is the abc version.
\end{itemize}
\end{document}
Automatisierung
Eine allgemeinere Lösung unter Verwendung einer benutzerdefinierten Codenummer.
Biber
Sie können die vier Jahreszeiten mithilfe des Felds darstellen, date
wenn der Monat auf bestimmte Werte eingestellt ist:
my %
seasons = ( 21 => 'spring',
22 => 'summer',
23 => 'autumn',
24 => 'winter' );
...\texlive\2020
\texmf-dist
\source
\bibtex
\biber
\biblatex-biber.tar
\biblatex-biber
\biblatex-biber-2.15
\lib
\Biber
\Date
format.pm
Wenn man diese Idee erweitert, aber stattdessen ein benutzerdefiniertes Feld ( term
) verwendet, das über Makros auf Biblatex
/ Latex
-Ebene verarbeitet wird, sind Universitäts- und Gerichtsbedingungen folgendermaßen möglich:
Veranschaulichung der Verwendung des xsv
Feldtyps und des zugehörigen \forcsvfield
Befehls, wodurch eine benutzerdefinierte Reihenfolge der Felder auf Bibbentry-Basis (und die expl3-Split-Funktion) ermöglicht wird; und Formatierungs-Hooks innerhalb des Zitatbefehls, wodurch das Ändern des Zitatformats mitten im Dokument ermöglicht wird; und Bibstrings zur Lokalisierung. Außerdem ein Beispiel für die Verwendung eines Felds als Eingabeargument für beliebigen Code unter Verwendung \usefield
(hier eines Bildnamens).
Eine Übung in dem, was getan werden könnte.
Anwendungsfall: Sets oder Kompendien oder andere Großbände?
Wenn nur wenige Begriffe vorhanden sind, können diese auch manuell eingegeben werden oder das issue
Feld „Begriffe“ @article
kann verwendet werden.
MWE
\begin{filecontents*}[overwrite]{\jobname.bib}
@misc{notesset1,
title = {Lecture Notes Set 1},
date = {2020-23},
}
% season (21=spring, 22=summer, 23=autumn, 24=winter)
@misc{notesset2,
title = {Lecture Notes Set 2},
date = {2021-21},
}
@misc{notesset3,
title = {Lecture Notes Set 3},
date = {2021-22},
}
@misc{notesset4,
title = {Lektur 1},
date = {2021-22},
langid = {ngerman},
% language={langgerman},
}
@misc{notesset5,
title = {Διάλεξη 1},
date = {2021-22},
langid = {greek},
language={langgreek},
}
@misc{notesset5a,
title = {Conferenza 1},
date = {2021-22},
langid = {italian},
language={langitalian},
}
@misc{testutag,
title = {Test Titleuta Greek 31},
term = {2021-31},
langid = {greek},
% language={langgreek},
}
@misc{testutha,
title = {Test Titleut hilary},
term = {2021-hilaryterm},
}
@misc{testuta,
title = {Test Titleuta 31},
term = {2021-31},
author = {A Author},
authorposition = {Adjunct Professor of Theoretics},
university = {University of U},
college = {College of C},
school = {School of S},
faculty = {Faculty of F},
department = {Department of D},
location = {Mars and The Moon and Mimas},
image={example-image-a},
sequence = {department,faculty,university,location,image},
sequenceta = {title,term,author,authorposition},
}
@misc{testutb,
title = {Test Titleutb 32},
term = {2021-32},
author = {zz},
authorposition = {zz},
university = {University of V},
college = {College of D},
school = {School of T},
faculty = {Faculty of G},
department = {Department of E},
sequence = {department,college,university},
}
@misc{testutc,
title = {Test Titleutc 33},
term = {2021-33},
courtlist = {Civil List},
courtdivision = {Commercial Division},
courtcourt = {Court of Appeal},
% courtbench = {},
courtname = {Supreme Court of XYZ},
sequence = {courtlist,courtdivision,courtname},
}
@misc{testutd,
title = {Test Titleutd 34},
term = {2021-34},
% courtlist = {},
% courtdivision = {},
% courtcourt = {},
courtbench = {Full Court},
courtname = {Supreme Court of XYZ},
sequence = {courtbench,courtname},
}
@misc{testute,
title = {Test Titleute 35},
term = {2021-35},
}
@misc{testutf,
title = {Test Titleutf 36},
term = {2021-36},
}
@misc{testutg,
title = {Test Titleutg 37},
term = {2021-37},
}
@misc{testta,
title = {Test Titleta 41},
term = {2021-41},
}
@misc{testtb,
title = {Test Titletb 42},
term = {2021-42},
}
@misc{testtc,
title = {Test Titletc 43},
term = {2021-43},
}
@misc{testsa,
title = {Test Titlesema 51},
term = {2021-51},
}
@misc{testsb,
title = {Test Titlesemb 52},
term = {2021-52},
}
@misc{tests1,
title = {Test Titlesem1 53},
term = {2021-53},
}
@misc{tests2,
title = {Test Titlesem2 54},
term = {2021-54},
}
@misc{testsp,
title = {Test Titlesp 61},
term = {2021-61},
}
@misc{testsu,
title = {Test Titlesu 62},
term = {2021/2022-62},
}
@misc{testau,
title = {Test Titleau 63},
term = {2022-63},
}
@misc{testwi,
title = {Test Titlewi 64},
term = {2022-64},
}
\end{filecontents*}
\begin{filecontents*}[overwrite]{term.dbx}
\DeclareDatamodelFields[type=field, datatype=literal]{term,
authorposition,
university,
college,
school,
faculty,
department,
courtlist,
courtdivision,
courtcourt,
courtname,
courtbench,
image,
}
\DeclareDatamodelFields[type=field, format=xsv, datatype=literal]{sequence,
sequenceta,
}
%\DeclareDatamodelFields[type=list, datatype=literal]{location,
%}
\DeclareDatamodelEntryfields{term,
authorposition,
university,
college,
school,
faculty,
department,
sequence,
courtlist,
courtdivision,
courtcourt,
courtname,
courtbench,
sequenceta,
% location,
image,
}
\end{filecontents*}
\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[svgnames]{xcolor}
\usepackage{fontspec}
\babelprovide[import, onchar=ids fonts]{greek}
\babelfont[greek]{rm}
[Color=DarkGreen ,
]{Noto Serif}
\usepackage{xparse}
\usepackage{graphicx}
\ExplSyntaxOn
%term
\DeclareDocumentCommand { \fcompareb } { m }
{
\tl_set:Nn \l_my_tl { #1 }
\seq_set_split:NnV \l_tmpa_seq { - } \l_my_tl
\seq_get_right:NN \l_tmpa_seq \l_myright_tlv
\int_compare:nNnT { \l_myright_tlv } = { 31 } { \bibstring{hilaryterm} }
\int_compare:nNnT { \l_myright_tlv } = { 32 } { \bibstring{epiphanyterm} }
\int_compare:nNnT { \l_myright_tlv } = { 33 } { \bibstring{lentterm} }
\int_compare:nNnT { \l_myright_tlv } = { 34 } { \bibstring{candlemasterm} }
\int_compare:nNnT { \l_myright_tlv } = { 35 } { \bibstring{easterterm} }
\int_compare:nNnT { \l_myright_tlv } = { 36 } { \bibstring{trinityterm} }
\int_compare:nNnT { \l_myright_tlv } = { 37 } { \bibstring{michaelmasterm} }
\int_compare:nNnT { \l_myright_tlv } = { 41 } { \bibstring{firstterm} }
\int_compare:nNnT { \l_myright_tlv } = { 42 } { \bibstring{secondterm} }
\int_compare:nNnT { \l_myright_tlv } = { 43 } { \bibstring{thirdterm} }
\int_compare:nNnT { \l_myright_tlv } = { 51 } { \bibstring{firstsemester} }
\int_compare:nNnT { \l_myright_tlv } = { 52 } { \bibstring{secondsemester} }
\int_compare:nNnT { \l_myright_tlv } = { 53 } { \bibstring{semesterone} }
\int_compare:nNnT { \l_myright_tlv } = { 54 } { \bibstring{semestertwo} }
\int_compare:nNnT { \l_myright_tlv } = { 61 } { \bibstring{springterm} }
\int_compare:nNnT { \l_myright_tlv } = { 62 } { \bibstring{summerterm} }
\int_compare:nNnT { \l_myright_tlv } = { 63 } { \bibstring{autumnterm} }
\int_compare:nNnT { \l_myright_tlv } = { 64 } { \bibstring{winterterm} }
}
%year
\DeclareDocumentCommand { \fcomparec } { m }
{
\tl_set:Nn \l_my_tl { #1 }
\seq_set_split:NnV \l_tmpa_seq { - } \l_my_tl
\seq_get_left:NN \l_tmpa_seq \l_myleft_tlv
\tl_use:N \l_myleft_tlv
}
\ExplSyntaxOff
\usepackage[style=authoryear,
dateabbrev=false,% full name of season
language=autocite,%pick up the langid language, for citations
autolang=other,%wrap with otherlanguage environment and translate date-related names according to the langid
datamodel=term,
]{biblatex}
\NewBibliographyString{hilaryterm,
epiphanyterm,
lentterm,
candlemasterm,
easterterm,
trinityterm,
michaelmasterm,
firstterm,
secondterm,
thirdterm,
firstsemester,
secondsemester,
semesterone,
semestertwo,
springterm,
summerterm,
autumnterm,
winterterm,
}
\DefineBibliographyStrings{english}{%
% 30
hilaryterm = {Hilary Term},% jan-mar/apr
epiphanyterm = {Epiphany Term},
lentterm = {Lent Term},%feb-apr
candlemasterm = {Candlemas Term},
easterterm = {Easter Term},%apr-may
trinityterm = {Trinity Term},% apr-jun/jun-jul
michaelmasterm = {Michaelmas Term},% oct-dec
% 40
firstterm = {First Term},
secondterm = {Second Term},
thirdterm = {Third Term},
% 50
firstsemester = {First Semester},
secondsemester = {Second Semester},
semesterone = {Semester One},
semestertwo = {Semester Two},
% 60
springterm = {Spring Term},
summerterm = {Summer Term},
autumnterm = {Autumn Term},
winterterm = {Winter Term},
}
\addbibresource{\jobname.bib}
\newcommand\insertpic[1]{\includegraphics[width=1cm]{#1}}
%==============================
\newcommand\seqsep{\addcomma\addspace}
\newcommand\myseq[1]{\seqsep%
\ifstrequal{#1}{location}{\printlist{location}}{%
\ifstrequal{#1}{author}{\printnames[authorrev]{#1}}{%
\ifstrequal{#1}{image}{\usefield{\insertpic}{image}}{%\usefield{\includegraphics[scale=0.1]}{image}
\ifstrequal{#1}{term}{\printterm}{\printfield{#1}}%
}}}%
}
\DeclareFieldFormat{sequence}{
\forcsvfield{\myseq}{sequence}
}
%
\newcounter{seqtacounter}
\newcommand\seqtazero{\setcounter{seqtacounter}{0}}
\newcommand\seqtastep{\stepcounter{seqtacounter}}
%title author
\newcommand\seqsepta{\addcomma\addspace}
\newcommand\myseqta[1]{%
\seqtastep%
\ifnum\value{seqtacounter}=1\relax\else\seqsepta\fi%
\ifstrequal{#1}{location}{\printlist{location}}{}%
\ifstrequal{#1}{author}{\printnames[authorrev]{#1}}{}%
\ifstrequal{#1}{term}{\printterm}{\printfield{#1}}%
}
\DeclareFieldFormat{sequenceta}{
\seqtazero
\forcsvfield{\myseqta}{sequenceta}
}
%
\DeclareListFormat{language}{\ifbibstring{#1}{\bibstring{#1}\addcolon}{#1}}
\DeclareCiteCommand{\citeseasonall}
{}
{\textmd{\printlist{language}}
\printfield{title}\addcomma\addspace
\printdate}
{}
{}
\newcommand\uuformat[1]{#1}
\newcommand\cuformat[1]{#1}
\newcommand\suformat[1]{#1}
\newcommand\fuformat[1]{#1}
\newcommand\duformat[1]{#1}
\newcommand\postuuformat{}
\newcommand\postcuformat{}
\newcommand\postsuformat{}
\newcommand\postfuformat{}
\newcommand\postduformat{}
% courtlist,
% courtdivision,
% courtcourt,
% courtname,
% courtbench,
\newcommand\lcformat[1]{#1}
\newcommand\dcformat[1]{#1}
\newcommand\ccformat[1]{#1}
\newcommand\ncformat[1]{#1}
\newcommand\bcformat[1]{#1}
\newcommand\postlcformat[1]{#1}
\newcommand\postdcformat[1]{#1}
\newcommand\postccformat[1]{#1}
\newcommand\postncformat[1]{#1}
\newcommand\postbcformat[1]{#1}
\DeclareFieldFormat{plain}{#1}
\DeclareFieldFormat{plainb}{\fcompareb{#1}}
\DeclareFieldFormat{plainc}{\fcomparec{#1}}
\DeclareFieldFormat{authorposition}{#1}
\DeclareFieldFormat{university}{\uuformat{#1}\postuuformat}
\DeclareFieldFormat{college}{\cuformat{#1}\postcuformat}
\DeclareFieldFormat{school}{\suformat{#1}\postsuformat}
\DeclareFieldFormat{faculty}{\fuformat{#1}\postfuformat}
\DeclareFieldFormat{department}{\duformat{#1}\postduformat}
%
% courtlist,
% courtdivision,
% courtcourt,
% courtname,
% courtbench,
\DeclareFieldFormat{courtlist}{\lcformat{#1}\postlcformat}
\DeclareFieldFormat{courtdivision}{\dcformat{#1}\postdcformat}
\DeclareFieldFormat{courtcourt}{\ccformat{#1}\postccformat}
\DeclareFieldFormat{courtname}{\ncformat{#1}\postncformat}
\DeclareFieldFormat{courtbench}{\bcformat{#1}\postbcformat}
\newcommand\printterm{\seqsepta\printfield[plainb]{term}
\addcomma\addspace\printfield[plainc]{term}}
\DeclareNameFormat{authorrev}{%
\ifthenelse{\value{listcount}=1}
{\ifdefvoid{\namepartgiven}{}{%
\namepartgiven\space}\namepartfamily}%
{\ifdefvoid{\namepartgiven}{}{\namepartgiven\space
}%
\namepartfamily}%
\ifthenelse{\value{listcount}<\value{liststop}}
{\addcomma\space}
{}}
\DeclareCiteCommand{\citeseasonallx}
{}
{\textmd{\printlist{language}}%
\iffieldundef{sequenceta}{%true
\printfield{title}%
\iffieldundef{term}{}{%
\printterm}}{%false
\printfield{sequenceta}%
}%
\iffieldundef{sequence}{}{\printfield{sequence}}
}
{}
{}
\DeclareCiteCommand{\citeseasontitle}
{}
{\printfield{title}
}
{}
{}
\DeclareCiteCommand{\citeseason}
{}
{\printdate}
{}
{}
\DeclareCiteCommand{\citeseasonterm}
{}
{\printfield[plainb]{term}}
{}
{}
\DeclareCiteCommand{\citeseasontermyear}
{}
{\printfield[plainc]{term}}
{}
{}
\DefineBibliographyStrings{greek}{%
spring = {άνοιξη},
summer = {καλοκαίρι},
autumn = {φθινόπωρο},
winter = {χειμώνας},
langgreek = {Ελληνικά},
hilaryterm = {Ελληνικά Greek Hilary},
}
\DefineBibliographyStrings{italian}{%
spring = {primavera},
summer = {estate},
autumn = {autunno},
winter = {inverno},
langitalian = {italiano},
}
%-----------------------------
\title{\citeseasontitle{notesset1}}
\author{}
\date{\citeseason{notesset1}}
%------------------
\begin{document}
\maketitle
\section*{Overview}
\begin{itemize}
\item \textbf{\citeseasonall{notesset1}} covers introductory material.
\item \textbf{\citeseasonall{notesset2}} advances to the next topic.
\item \textbf{\citeseasonall{notesset3}} covers the extended course.
\item German: \textbf{\citeseasonall{notesset4}} is the xyz version.
\item Greek: \textbf{\citeseasonall{notesset5}} is the abc version.
\item Italian: \textbf{\citeseasonall{notesset5a}} is the abc version.
\end{itemize}
\section*{Season Extended}
\subsection*{University Terms and Court Terms}
%\citeseasonallx{testutha}\par
\citeseasonallx{testuta}. \citeseasonterm{testuta} of \citeseasontermyear{testuta} will see a new\ldots\par
%
\renewcommand\seqsep{\ \\ \makebox[2em]{\ }}
\renewcommand\uuformat[1]{\textsc{#1}}
\renewcommand\postuuformat{$\leftarrow$\par}
\noindent\citeseasonallx{testutb} xxx\par
\citeseasonallx{testutc}\par
\citeseasonallx{testutd}\par
\citeseasonallx{testute}\par
\citeseasonallx{testutf}\par\
\citeseasonallx{testutg}\par
\subsection*{Semesters}
\ \par
\citeseasonallx{testsa}\par
\citeseasonallx{testsb}\par
\citeseasonallx{tests1}\par
\citeseasonallx{tests2}\par
\subsection*{School Terms}
\ \par
\citeseasonallx{testta}, the \citeseasonterm{testta} of \citeseasontermyear{testta}\par
\citeseasonallx{testtb}\par
\citeseasonallx{testtc}\par
\ \par
\citeseasonallx{testsp}\par
\citeseasonallx{testsu}\par
\citeseasonallx{testau}\par
\citeseasonallx{testwi}\par
\section*{Languages}
\citeseasonallx{testutag}\par
%biber
%
%format.pm
%
%\begin{verbatim}
% my %
% seasons = ( 21 => 'spring',
% 22 => 'summer',
% 23 => 'autumn',
% 24 => 'winter' );
%
%...\texlive\2020
%\texmf-dist
%\source
%\bibtex
%\biber
%\biblatex-biber.tar
%\biblatex-biber
%\biblatex-biber-2.15
%\lib
%\Biber
%\Date
%\end{verbatim}
\renewcommand\seqsepta{\par}
\renewcommand\seqsep{\par}
\renewcommand\uuformat[1]{$\rightarrow$\begin{tabular}{|l|}\hline\textsc{#1}\\ \hline \end{tabular}}
\renewcommand\postuuformat{}
\citeseasonallx{testuta}\par\bigskip
\renewcommand\seqsepta{\addcomma\addspace}
\renewcommand\seqsep{\addcomma\addspace}
\renewcommand\uuformat[1]{#1}
\citeseasonallx{testutb}
\end{document}
In einem aktuellen TexLive mit lualatex kompilieren, da babel
Lua-Code für die Sprach-/Skriptverarbeitung verwendet wird.