Doy clases y en mis notas tengo "Otoño 2015" durante el semestre de otoño y "Primavera 2016" durante el semestre de primavera. Puedo usar
\the\year
para el año. ¿Pero hay algo como
\the\season
para otoño y primavera? Y si es así, ¿cómo puedo personalizar qué meses definen el semestre?
Respuesta1
Sin ningún paquete adicional y brindando soporte para northern
nuestro southern
hemisferio:
\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}
ActualizarAquí hay una variante con 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}
**Otra versión - con xparse
y expl3
características:
\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}
Respuesta2
Aquí hay una solución
\documentclass{article}
\begin{document}
\ifnum\month<7
Spring
\else
Fall
\fi
\month=11
\ifnum\month<7
Spring
\else
Fall
\fi
\end{document}
Respuesta3
Actualizar:¡Código más loco, sin lista de propiedades!:)
\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}
Intento original:¡Código loco por delante!:)
\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}
La salida:
Se podría agregar un babel
gancho para configurar los nombres de las temporadas de acuerdo con el idioma actual o incluso usarlo datetime
para formatear cualquier fecha, como, por ejemplo, \season\today
. ¡Espero eso ayude!:)
Respuesta4
Una biblatex
solución, para cuando hay varios elementos o archivados.
Tratar la temporada como parte de los (meta)datos de publicación.
La localización también puede entrar en juego. (Tenga en cuenta que no todos los idiomas babel
/ polyglossia
definen season
cadenas relacionadas (todavía).)
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}
Automatización
Una solución más generalizada, que utiliza un número de código personalizado.
Biber
Puedes hacer las cuatro estaciones usando el date
campo cuando el mes está configurado en ciertos 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
Ampliando esa idea, pero utilizando en su lugar un campo personalizado ( term
) procesado mediante macros en el nivel Biblatex
/ Latex
, se pueden realizar términos universitarios y términos judiciales:
Ilustrar el uso del xsv
tipo de campo y \forcsvfield
el comando asociado, lo que permite una secuenciación personalizada de campos por bibentry (y la función de división expl3); y ganchos de formato dentro del comando de cita, lo que permite cambiar el formato de la cita a mitad del documento; y tirantes para localización. Además de un ejemplo del uso de un campo como argumento de entrada para código arbitrario usando \usefield
(aquí, el nombre de una imagen).
Un ejercicio de lo que se podría hacer.
Caso de uso: ¿conjuntos o compendios, u otros volúmenes a granel?
Los términos siempre se pueden ingresar manualmente si solo hay unos pocos, o se podría usar el issue
campo de .@article
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 con lualatex en un TexLive reciente porque babel
usa código lua para el procesamiento de lenguaje/script.