Como imprimir "Primavera" se o mês for janeiro-junho? Caso contrário, "Outono"?

Como imprimir "Primavera" se o mês for janeiro-junho? Caso contrário, "Outono"?

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 northernou southernhemisfé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}

insira a descrição da imagem aqui

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 xparsee expl3recursos:

\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:

Charlatão

Pode-se adicionar um babelgancho para configurar os nomes das estações de acordo com o idioma atual ou até mesmo usar datetimepara formatar qualquer data, como, por exemplo, \season\today. Espero que ajude!:)

Responder4

Uma biblatexsolução, para quando existem itens múltiplos ou de arquivo.

temporada

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/ polyglossiaidiomas definem seasonstrings 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.

Biberpode fazer as quatro estações usando o datecampo 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:

Formatos de exemplo

Ilustrando o uso do xsvtipo de campo e \forcsvfieldcomando 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 issuecampo de @articlepode 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 babelusa código lua para processamento de linguagem/script.

informação relacionada