Dou aulas e nas minhas anotações tenho "Outono de 2015" durante o semestre de outono e "Primavera de 2016" durante o semestre de primavera. Eu posso usar
\the\year
para o ano. Mas existe algo como
\the\season
para o outono e a primavera? E se sim, como posso personalizar quais meses definem o semestre?
Responder1
Sem nenhum pacote extra e fornecendo suporte para northern
ou southern
hemisfério:
\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}
AtualizarAqui está uma variante com argumento opcional:
\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}
**Outra versão - com xparse
e expl3
recursos:
\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}
Responder2
Aqui está uma solução
\documentclass{article}
\begin{document}
\ifnum\month<7
Spring
\else
Fall
\fi
\month=11
\ifnum\month<7
Spring
\else
Fall
\fi
\end{document}
Responder3
Atualizar:Código mais louco, sem lista de propriedades!:)
\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}
Tentativa original:Código maluco à frente!:)
\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}
A saída:
Pode-se adicionar um babel
gancho para configurar os nomes das estações de acordo com o idioma atual ou até mesmo usar datetime
para formatar qualquer data, como, por exemplo, \season\today
. Espero que ajude!:)
Responder4
Uma biblatex
solução, para quando existem itens múltiplos ou de arquivo.
Tratar a temporada como parte dos (meta)dados da publicação.
A localização também pode entrar em jogo. (Observe que nem todos os babel
/ polyglossia
idiomas definem season
strings relacionadas (ainda).)
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}
Automatizando
Uma solução mais generalizada, usando um número de código personalizado.
Biber
pode fazer as quatro estações usando o date
campo quando o mês está definido para determinados valores:
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
Estendendo essa ideia, mas usando em vez disso um campo personalizado ( term
) processado por meio de macros no nível Biblatex
/ Latex
, os Termos da Universidade e os Termos do Tribunal podem ser feitos:
Ilustrando o uso do xsv
tipo de campo e \forcsvfield
comando associado, permitindo sequenciamento personalizado de campos por bibentry (e a função de divisão expl3); e ganchos de formatação dentro do comando de citação, permitindo a alteração do formato da citação no meio do documento; e babadores para localização. Além de um exemplo de uso de um campo como argumento de entrada para código arbitrário usando \usefield
(aqui, um nome de imagem).
Um exercício sobre o que poderia ser feito.
Caso de uso: conjuntos ou compêndios ou outros volumes em massa?
Os termos sempre podem ser digitados manualmente se houver apenas alguns, ou o issue
campo de @article
pode ser usado.
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}
Compile com lualatex em um TexLive recente porque babel
usa código lua para processamento de linguagem/script.