我教课,在笔记中,秋季学期写着“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
,允许根据每个文献条目自定义字段排序(以及 expl3 拆分函数);以及引用命令中的格式化钩子,允许在文档中间更改引用格式;以及用于本地化的 bibstring。另外还有一个使用字段作为任意代码的输入参数的示例\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}
在最近的 TexLive 中使用 lualatex 进行编译,因为babel
使用 lua 代码进行语言/脚本处理。