TransWikia.com

How to print "Spring" if in month is in Jan-June? Otherwise "Fall"?

TeX - LaTeX Asked by Xu Wang on July 24, 2021

I teach classes and in my notes I have “Fall 2015” during fall semester and “Spring 2016” during Spring semester. I can use

theyear

for the year. But is there something like

theseason

for Fall and Spring? And if so, how can I customize which months define the semester?

5 Answers

What about:

documentclass{article}
usepackage{ifthen}

begin{document}

The term now is: ifthenelse{month<6}{Spring}{Fall} 

end{document}

With the ifthen package you can build quite complex conditional text.

Obviously you have to adapt it to your case, but you can nest ifthenelse and even use month or day in it to fine-tune the result.

The term now is: ifthenelse{month<9}{%
    ifthenelse{month<6}{Spring}{Summer}}%
    {Fall}

(this last suppose Spring term for Jan to May, Fall from Sep to Dec, and the rest Summer. YMMV)

Answered by Rmano on July 24, 2021

Without any extra package and providing support for northern or southern hemisphere:

documentclass{article}

newififnorthernhemisphere
northernhemispheretrue

newcommand{season}{%
  ifnorthernhemisphere
  ifcasemonth
  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
  ifcasemonth
  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

themonth season

month=5
themonth season

month=9
themonth season

Southern hemisphere

month=2
northernhemispherefalse
themonth season


month=5
themonth season

month=9
themonth season

end{document}

enter image description here

Update Here's a variant with optional argument:

documentclass{article}

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

**Another version -- with xparse and expl3 features:

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}

Answered by user31729 on July 24, 2021

Here is a solution

documentclass{article}
begin{document}
ifnummonth<7
Spring
else
Fall
fi

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

Answered by touhami on July 24, 2021

Update: Crazier code, no properties list! :)

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}

Original attempt: Crazy code ahead! :)

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}

The output:

Quack

One could add a babel hook to setup seasons names according to the current language or even use datetime to format any date, like, for example, seasontoday. Hope it helps! :)

Answered by Paulo Cereda on July 24, 2021

A biblatex solution, for when there are multiple or archival items.

season

Treating the season as part of the publication (meta)data.

Localisation can also come into play. (Note that not all babel/polyglossia languages define season-related strings (yet).)

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}addcommaaddspaceprintdate}
{}
{}

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}

Automating

A more generalised solution, using a custom code number.

Biber can do the four seasons using the date field when the month is set to certain values:

  my %
    seasons = ( 21 => 'spring',
                  22 => 'summer',
                  23 => 'autumn',
                  24 => 'winter' );
                  
...texlive2020
texmf-dist
source
bibtex
biber
biblatex-biber.tar
biblatex-biber
biblatex-biber-2.15
lib
Biber
Date                  
format.pm

Extending that idea, but using instead a custom field (term) processed via macros at Biblatex/Latex-level, University Terms and Court Terms can be done:

Example formats

Illustrating the use of the xsv field type and associated forcsvfield command, allowing customised sequencing of fields on a per-bibentry basis (and the expl3 split function); and formatting hooks within the citation command, allowing the changing of the citation format mid-document; and bibstrings for localisation. Plus an example of using a field as an input argument to arbitrary code using usefield (here, an image name).

An exercise in what could be done.

Use-case: sets or compendia, or other bulk volumes?

Terms can always be keyed in manually if there are only a few, or the issue field of @article could be used.

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}

newcommandinsertpic[1]{includegraphics[width=1cm]{#1}}

%==============================
newcommandseqsep{addcommaaddspace}
newcommandmyseq[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}
newcommandseqtazero{setcounter{seqtacounter}{0}}
newcommandseqtastep{stepcounter{seqtacounter}}

%title author
newcommandseqsepta{addcommaaddspace}

newcommandmyseqta[1]{%
seqtastep%
ifnumvalue{seqtacounter}=1relaxelseseqseptafi%
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}addcommaaddspace
printdate}
{}
{}

newcommanduuformat[1]{#1}
newcommandcuformat[1]{#1}
newcommandsuformat[1]{#1}
newcommandfuformat[1]{#1}
newcommandduformat[1]{#1}

newcommandpostuuformat{}
newcommandpostcuformat{}
newcommandpostsuformat{}
newcommandpostfuformat{}
newcommandpostduformat{}


%  courtlist,
%  courtdivision,
%  courtcourt,
%  courtname,
%  courtbench,
newcommandlcformat[1]{#1}
newcommanddcformat[1]{#1}
newcommandccformat[1]{#1}
newcommandncformat[1]{#1}
newcommandbcformat[1]{#1}

newcommandpostlcformat[1]{#1}
newcommandpostdcformat[1]{#1}
newcommandpostccformat[1]{#1}
newcommandpostncformat[1]{#1}
newcommandpostbcformat[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}


newcommandprintterm{seqseptaprintfield[plainb]{term}
addcommaaddspaceprintfield[plainc]{term}}


DeclareNameFormat{authorrev}{%
ifthenelse{value{listcount}=1}
{ifdefvoid{namepartgiven}{}{%
 namepartgivenspace}namepartfamily}%
{ifdefvoid{namepartgiven}{}{namepartgivenspace
 }%
namepartfamily}%
ifthenelse{value{listcount}<value{liststop}}
{addcommaspace}
{}}



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 newldotspar
%
renewcommandseqsep{  makebox[2em]{ }}
renewcommanduuformat[1]{textsc{#1}}
renewcommandpostuuformat{$leftarrow$par}
noindentciteseasonallx{testutb} xxxpar
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' );
%                  
%...texlive2020
%texmf-dist
%source
%bibtex
%biber
%biblatex-biber.tar
%biblatex-biber
%biblatex-biber-2.15
%lib
%Biber
%Date                  
%end{verbatim}

renewcommandseqsepta{par}
renewcommandseqsep{par}
renewcommanduuformat[1]{$rightarrow$begin{tabular}{|l|}hlinetextsc{#1} hline end{tabular}}
renewcommandpostuuformat{}

citeseasonallx{testuta}parbigskip 
renewcommandseqsepta{addcommaaddspace}
renewcommandseqsep{addcommaaddspace}
renewcommanduuformat[1]{#1}
citeseasonallx{testutb}

end{document}

Compile with lualatex in a recent TexLive because babel uses lua code for language/script processing.

Answered by Cicada on July 24, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP