Как напечатать "Весна", если месяц янв-июнь? Иначе "Осень"?

Как напечатать "Весна", если месяц янв-июнь? Иначе "Осень"?

Я преподаю и в моих заметках есть "Осень 2015" во время осеннего семестра и "Весна 2016" во время весеннего семестра. Я могу использовать

\the\year

за год. Но есть ли что-то вроде

\the\season

для осени и весны? И если да, то как мне настроить, какие месяцы будут определять семестр?

решение1

Без какой-либо дополнительной упаковки и обеспечения поддержки для northernодного southernполушария:

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

введите описание изображения здесь

ОбновлятьВот вариант с необязательным аргументом:

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

**Другая версия — с функциями xparseи expl3:

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

решение2

Вот решение

\documentclass{article}
\begin{document}
\ifnum\month<7
Spring
\else
Fall
\fi

\month=11
\ifnum\month<7
Spring
\else
Fall
\fi
\end{document}

решение3

Обновлять:Более безумный код, нет списка свойств!:)

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

Первоначальная попытка:Впереди безумный код!:)

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

Выход:

Крякать

Можно добавить babelхук для настройки названий сезонов в соответствии с текущим языком или даже использовать datetimeдля форматирования любой даты, например, \season\today. Надеюсь, это поможет!:)

решение4

Решение biblatexдля случаев, когда имеется несколько или архивных элементов.

время года

Рассмотрение сезона как части (мета)данных публикации.

Локализация также может сыграть свою роль. (Обратите внимание, что не все языки babel/ ( пока) polyglossiaопределяют seasonстроки, связанные с -.)

МВЭ

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

Автоматизация

Более общее решение — использование индивидуального кодового номера.

Biberможно сделать четыре сезона, используя dateполе, когда месяцу заданы определенные значения:

  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

Расширяя эту идею, но используя вместо этого настраиваемое поле ( term), обрабатываемое с помощью макросов на уровне Biblatex/ Latex, можно реализовать университетские термины и судебные термины:

Примеры форматов

Иллюстрация использования xsvтипа поля и связанной \forcsvfieldкоманды, позволяющая настраивать последовательность полей на основе bibentry (и функцию разделения expl3); и форматирующие хуки в команде цитирования, позволяющие изменять формат цитирования в середине документа; и bibstrings для локализации. Плюс пример использования поля в качестве входного аргумента для произвольного кода с использованием \usefield(здесь, имени изображения).

Упражнение на то, что можно сделать.

Вариант использования: наборы, сборники или другие объемные издания?

Если терминов немного, их всегда можно ввести вручную или использовать issueполе .@article

МВЭ



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

Компилируется с помощью lualatex в последнем TexLive, поскольку babelдля обработки языка/скрипта используется код lua.

Связанный контент